私は、ホビープロジェクトでそれらを使用することでより良い約束を理解しようとしていますが、なぜ最後のものではなく約束のチェーンの最初の.then
から価値が得られるのか分かりません。言い換えれば、私は約束で何らかのコードを実行し、最後にその約束の外に価値を返すのでしょうか?ありがとう!私は値 'x'を期待するが、プログラムは 'b'を返す。なぜこの約束は最後のものではなくチェーンの最初のアイテムで解決されますか?
var Promise = require('bluebird')
Promise.resolve('x')
.then(function (user) {
return Promise.resolve('c').then(function (roll) {
return Promise.resolve('a').then(function (user) {
return Promise.resolve('b')
})
.then(Promise.resolve('x'))
})
})
.then(function (output) {
console.log(output)
})
それはあなたが言っていないではない、少なくともので、求めているものは不明だどのような値あなたに」あなたは何を期待していますか?しかし、上記はプロミスの創造的な反パターンの大きな例であることに注意してください。それらの「プロミス。解決」のすべてではないにせよ、ほとんどが必要ではありません。 'then'は約束を作成し、' then'コールバックから値を返します。 –
申し訳ありませんが、私はそれを編集しますが、印刷するときにxを期待しています。 – meyer9
また、コールバックから値を返すことはどういう意味ですか?すべての 'then'コールバックからプロミスを返すことが示唆されたと思いました。 – meyer9