<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>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                # 學習重點 綜上所述 * Async函數是趨勢,如果Chrome 52\. v8 5.1已經支持Async函數([https://github.com/nodejs/CTC/issues/7)了,Node.js支持還會遠么?](https://github.com/nodejs/CTC/issues/7)%E4%BA%86%EF%BC%8CNode.js%E6%94%AF%E6%8C%81%E8%BF%98%E4%BC%9A%E8%BF%9C%E4%B9%88%EF%BC%9F) * Async和Generator函數里都支持promise,所以promise是必須會的。 * Generator和yield異常強大,不過不會成為主流,所以學會基本用法和promise就好了,沒必要所有的都必須會。 * co作為Generator執行器是不錯的,它更好的是當做Promise 包裝器,通過Generator支持yieldable,最后返回Promise,是不是有點無恥? 我整理了一張圖,更直觀一些。 ![All](https://i5ting.github.io/wechat-dev-with-nodejs/async/img/all.png) * 紅色代表Promise,是使用最多的,無論async還是generator都可用 * 藍色是Generator,過度貨 * 綠色是Async函數,趨勢 **結論**:Promise是必須會的,那你為什么不順勢而為呢? **推薦**:使用Async函數 + Promise組合,如下圖所示。 ![Suggest](https://i5ting.github.io/wechat-dev-with-nodejs/async/img/suggest.png) **實踐** 合理的結合Promise和Async函數是可以非常高效的,但也要因場景而異 * Promise更容易做promisefyAll(比如使用bluebird) * Async函數無法批量操作 那么,在常見的Web應用里,我們總結的實踐是,dao層使用Promise比較好,而service層,使用Async/Await更好。 dao層使用Promise: * crud * 單一模型的方法多 * 庫自身支持Promise 這種用promisefyAll基本幾行代碼就夠了,一般單一模型的操作,不會特別復雜,應變的需求基本不大。 而service層一般是多個Model組合操作,多模型操作就可以拆分成多個小的操作,然后使用Await來組合,看起來會更加清晰,另外對需求應變也是非常容易的。
                  <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>

                              哎呀哎呀视频在线观看