検索

ホームページ  >  に質問  >  本文

JavaScript - Promise の使用に関する質問

リーリー

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

高洛峰高洛峰2809日前457

全員に返信(2)返信します

  • 天蓬老师

    天蓬老师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 に関するすべての質問に答えることができます。

    返事
    0
  • 为情所困

    为情所困2017-05-19 10:19:46

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

    返事
    0
  • キャンセル返事