then の最初のパラメータのメソッドは、解決時に Promise が実行されるはずですが、実際には console.log(b) が実行されます。
天蓬老师2017-05-19 10:19:46
望まぬ返信です!
Promise では、.then( func )
会返回一个新的 Promise 实例,这个实例的结果,是把函数体 func 的结果通过执行 Promise.resolve()
得到的。所以在你的问题里,console.log(a)
没有返回值,相当于 Promise.resolve(null)
得到一个状态为 resolved
は Promise インスタンスなので、次のステップに進みます。
Promise に関しては、私のチュートリアル「Promise の N の使用法」を読むことをお勧めします。これには非常に詳細な説明があり、基本的に Promise に関するすべての質問に答えることができます。
为情所困2017-05-19 10:19:46
.then(パラメータ 1, パラメータ 2) パラメータ 1 は成功のコールバック関数 (resolve())、パラメータ 2 は失敗のコールバック関数 (reject()) です。これは、ここでの書き方のせいで、.then の後に2 番目の関数 (最初の関数) が実行され、b の値が未定義として出力されます。それだけです。 !