<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # ES6 Promise 對象 ## 概述 是異步編程的一種解決方案。 從語法上說,Promise 是一個對象,從它可以獲取異步操作的消息。 ## Promise 狀態 ### 狀態的特點 Promise 異步操作有三種狀態:pending(進行中)、fulfilled(已成功)和 rejected(已失敗)。除了異步操作的結果,任何其他操作都無法改變這個狀態。 Promise 對象只有:從 pending 變為 fulfilled 和從 pending 變為 rejected 的狀態改變。只要處于 fulfilled 和 rejected ,狀態就不會再變了即 resolved(已定型)。 ``` <pre class="calibre13">``` <span class="token2">const</span> p1 <span class="token">=</span> <span class="token2">new</span> <span class="token3">Promise</span><span class="token1">(</span><span class="token2">function</span><span class="token1">(</span>resolve<span class="token1">,</span>reject<span class="token1">)</span><span class="token1">{</span> <span class="token3">resolve</span><span class="token1">(</span><span class="token4">'success1'</span><span class="token1">)</span><span class="token1">;</span> <span class="token3">resolve</span><span class="token1">(</span><span class="token4">'success2'</span><span class="token1">)</span><span class="token1">;</span> <span class="token1">}</span><span class="token1">)</span><span class="token1">;</span> <span class="token2">const</span> p2 <span class="token">=</span> <span class="token2">new</span> <span class="token3">Promise</span><span class="token1">(</span><span class="token2">function</span><span class="token1">(</span>resolve<span class="token1">,</span>reject<span class="token1">)</span><span class="token1">{</span> <span class="token3">resolve</span><span class="token1">(</span><span class="token4">'success3'</span><span class="token1">)</span><span class="token1">;</span> <span class="token3">reject</span><span class="token1">(</span><span class="token4">'reject'</span><span class="token1">)</span><span class="token1">;</span> <span class="token1">}</span><span class="token1">)</span><span class="token1">;</span> p1<span class="token1">.</span><span class="token3">then</span><span class="token1">(</span><span class="token2">function</span><span class="token1">(</span>value<span class="token1">)</span><span class="token1">{</span> console<span class="token1">.</span><span class="token3">log</span><span class="token1">(</span>value<span class="token1">)</span><span class="token1">;</span> <span class="token6">// success1 </span> <span class="token1">}</span><span class="token1">)</span><span class="token1">;</span> p2<span class="token1">.</span><span class="token3">then</span><span class="token1">(</span><span class="token2">function</span><span class="token1">(</span>value<span class="token1">)</span><span class="token1">{</span> console<span class="token1">.</span><span class="token3">log</span><span class="token1">(</span>value<span class="token1">)</span><span class="token1">;</span> <span class="token6">// success3 </span> <span class="token1">}</span><span class="token1">)</span><span class="token1">;</span> ``` ``` ### 狀態的缺點 無法取消 Promise ,一旦新建它就會立即執行,無法中途取消。 如果不設置回調函數,Promise 內部拋出的錯誤,不會反應到外部。 當處于 pending 狀態時,無法得知目前進展到哪一個階段(剛剛開始還是即將完成)。 ## then 方法 then 方法接收兩個函數作為參數,第一個參數是 Promise 執行成功時的回調,第二個參數是 Promise 執行失敗時的回調,兩個函數只會有一個被調用。 ![](https://img.kancloud.cn/66/33/6633afc1911f1e583df95c3d6583c0cb_759x410.png) ![](https://img.kancloud.cn/99/0e/990ebca224fac55e67fbb27286c9561b_810x467.png) ![](https://img.kancloud.cn/ed/fd/edfd1e1ab3785f7ba966307e335c7bf6_746x378.png)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看