JavaScript - Promise の使用に関する質問
高洛峰
高洛峰 2017-05-19 10:17:46
0
2
467
リーリー

then の最初のパラメータのメソッドは、解決時に Promise が実行されるはずですが、実際には console.log(b) が実行されます。

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全員に返信(2)
Peter_Zhu

望まぬ返信です!

Promise では、.then( func ) 会返回一个新的 Promise 实例,这个实例的结果,是把函数体 func 的结果通过执行 Promise.resolve() 得到的。所以在你的问题里,console.log(a) 没有返回值,相当于 Promise.resolve(null) 得到一个状态为 resolved は Promise インスタンスなので、次のステップに進みます。

Promise に関しては、私のチュートリアル「Promise の N の使用法」を読むことをお勧めします。これには非常に詳細な説明があり、基本的に Promise に関するすべての質問に答えることができます。

いいねを押す +0
为情所困

.then(パラメータ 1, パラメータ 2) パラメータ 1 は成功のコールバック関数 (resolve())、パラメータ 2 は失敗のコールバック関数 (reject()) です。これは、ここでの書き方のせいで、.then の後に2 番目の関数 (最初の関数) が実行され、b の値が未定義として出力されます。それだけです。 !

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート