私が約束を連鎖していて、解決ハンドラから約束を返す場合、その約束はthen
への呼び出しの戻り値となるのでしょうか?舞台裏で何が起こっているのですか?次の例では「then」の戻り値にマップされた解決ハンドラから返されるプロミスはどうですか?
は、firstMethodHandler
で、secondMethod
への呼び出しは、それがその後返す新しい約束を受けたが、その約束は、それがその約束に渡されるthen
メソッドから返されます。これはどうやって起こるのですか?
function firstMethod(value) {
console.log('1st method:', value)
return new Promise((resolve, reject) => {
resolve(++value);
});
}
function secondMethod(value) {
return new Promise((resolve, reject) => {
console.log('2nd method:', value)
resolve(++value);
});
}
function firstMethodHandler(value) {
console.log("1st method handler:",value);
return secondMethod(value);
}
function secondMethodHandler(value) {
console.log("2nd method handler:", value);
}
firstMethod(1)
.then(firstMethodHandler)
.then(secondMethodHandler)
「プロミスの仕様は何が起こるべきか」または「プロミスライブラリの実装の詳細」を超えて何を探しているのか分かりません。 – Quentin
...または "他の戻り値が別の関数呼び出しの引数として渡されるのと同じ方法" – Quentin
質問は何ですか?参照してください[間に違いがあります(関数参照)と.then(関数(値){戻りfunctionReference(値)}?)](http://stackoverflow.com/questions/41191131/are-there-differences-between -then関数の参照と関数の値) – guest271314