(function(){ var a=Promise.resolve(); var b=a.then(function(){ console.log("first") resolve(44) }).then(function(d){ console.log(d) console.log("sec") }) })()
とするとfirstしか呼ばれません。これはなぜでしょうか?
var aの代入により新しくプロミスが作られてresolveでfulfilled状態になり次のthenにわたってconsole.logが出てresolve(44)により次のpromiseに行くはずですが。。。
そしてこのresolve(44)をreturn 44に変えると正常に動きます。これはなぜでしょうか?
azuさんのproimse本によるとreturnされた値もresolve()のように、この例のようなintの44もpromiseに変換されて同じ動きをするはずですが。。。
お願いします。
この質問の投稿者はすでに退会しているため、質問者からの返信がない点にご留意ください。
回答2件
この質問の投稿者はすでに退会しているため、質問者からの返信やベストアンサーの選定がない点にご留意ください。
あなたの回答
tips
プレビュー