Why is the promise done method in jquery invalid in this code?

  node.js, question
setTimeout(function(){
 $("div.A,div.B").fadeOut(500).promise().done(showIntroSection);
 function showIntroSection(){
 console.log("delay");
 $ ("div.c"). animate (""opacity ":"1 ","width ":"70% "}, 10000). promise (). done (console.log ("1 ");
 bracket
 },1000);

As shown in the above code, after the fade () method is executed on div.A,div.B, the delay can be normally output after a delay of 500ms, indicating the success of the first promise done method. However, within the showIntroSection function of the done method, the animation of div.C is executed at the same time as console.log(“1 “).
the question isShouldn’t 10000ms animation be executed before outputting this console.log(“1 “) in the showIntroSectin function?
Why is this promise done method ineffective?
(tried to change to when then or something, all the same symptoms)
I don’t know what the problem is. I hope everyone can give me some help.

Although I haven’t written jquery .. but listen to the problem description and look at the code feeling
I think you put
$ ("div.c"). animate (""opacity ":"1 ","width ":"70% "}, 10000). promise (). done (console.log ("1 ");
hit the target
console.log("1")
Change to
function(){console.log("1")}
Should be ok.