<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的generator是什么? generator指的是 ``` function* xxx(){ } ``` 是es6里的寫法。 ``` function* test() { console.log('1'); yield 1; console.log('2'); yield 2; console.log('3'); } ``` 代碼中間插了兩行yield,代表什么呢? - 當test執行到 yield 1這一行的時候,程序將被掛起,要等待執行下一步的指令; - 當接收到指令后,test將繼續往下運行,直到yield 2這一行,然后程序又被掛起并等待指令; - 收到指令后,test又將繼續運行,而下面已經沒有yield了,那么函數運行結束。 這是不是就像,我們調試代碼的時候,給插的斷點 ? 當然,斷點這個比喻,只是表象上比較相像,實質原理還是有非常大差異。 yield就是讓后面的generator執行完成后,才繼續往下走。 要注意,function后面多了一個星號,這樣是表明這個函數將變成一個生成器函數,而不是一個普通函數了。意思就是,test這個函數,將不能被這樣執行 test(); 但可以獲得一個生成器 var gen = test(); // gen就是一個生成器了 然后,生成器可以通過next()來執行運行 gen.next(); 也就是上面說的,讓函數繼續運行的指令。 簡單地總結一下: - 生成器通過yield設置了一些類似”斷點“的東西,使得函數執行到yield的時候會被阻斷; - 生成器要通過next()指令一步一步地往下執行(兩個yield之間為一步); - yield 語句后面帶著的表達式或函數,將在阻斷之前執行完畢; - yield 語句下面的代碼,將不可能在阻斷之前被執行; 由此可以看出,yield是如何將異步非阻塞代碼,變成 異步阻塞代碼。
                  <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>

                              哎呀哎呀视频在线观看