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

javascript - Promise から返されるとすぐに Promise が実行されるのはなぜですか?原理を説明してください。ありがとうございます。

以下はコードです

リーリー
  1. なぜ Promise オブジェクトが then で返され、次の then で解決されるのですか?

  2. 2 番目の実行チェーンは 2 番目の Promise ですか?

黄舟黄舟2732日前868

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

  • 天蓬老师

    天蓬老师2017-05-19 10:12:29

    Promise の考え方は、すべての同期コードと非同期コードを非同期コードとして扱うことです。 then メソッドは、非同期呼び出しが完了した後に呼び出される新しい Promise(链式调用),then方法的第一个参数onfulfilled是在前一个Promise オブジェクトを返します。 リーリー

    これには、

    コンストラクター内のいくつかの実装が含まれています。私は数日前に簡単な Promise を実装しました。お役に立てば幸いです。

    返事
    0
  • 阿神

    阿神2017-05-19 10:12:29

    私は専門家ではありません-_-私の見解を説明します。
    Then チェーン呼び出しは、前の then の戻り値をパラメーターとして受け取ります。Promise の then 関数の内部実装は、戻り値に対して Promise オブジェクトの処理を実行します。たとえば、基本的なデータ型は Promise.resolve を通じて Promise オブジェクトを直接返します。 (データ)。Promise オブジェクトの場合は、その解決関数を実行して、次の then 関数をトリガーします。

    返事
    0
  • PHPz

    PHPz2017-05-19 10:12:29

    この実行チェーンを次のように分解できます:

    リーリー

    setTimeout を使用して関数 retPromise(str) を遅延復帰に設定することもできます。このほうがうまくいきます

    リーリー

    返事
    0
  • キャンセル返事