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

                ## 前言 * 前端開發中最重要的便是api調用,從服務端拉取數據進行業務操作,完畢之后提交數據至服務端 * 這個流程幾乎涵蓋了整個系統 * 下面我們來學習下標準的api調用應該如何編寫 * 同時看下如何和我們的自定義組件結合起來 ## 定義一個api 1. 我們到services文件夾下創建demo.js,內容如下 ![](https://box.kancloud.cn/6e715a3b3f52c7952900dd9fcac6d83e_1990x1232.png) 2. 工程封裝了`request`方法,將常用的方法都封裝好,方便大家直接調用 ## 調用api 1. 我們準備讓這個方法在頁面初次加載的時候調用,并把獲取到的數據打印出來 2. 進入我們編寫的Demo頁面,編寫一個測試方法,`componentWillMount`代表頁面將要加載的時候執行自定義方法 ![](https://box.kancloud.cn/12e1f30edf32749a5d92a8d52818c34f_1108x828.png) 3. 刷新頁面查看控制臺,發現定義成功 ![](https://box.kancloud.cn/9cb7ab6c5ed03510367ee14815e92389_1582x1042.png) 4. 下面我們增加api的調用,傳入自定義的數據,并將其返回打印出來 ![](https://box.kancloud.cn/b2c8a79b3901b7f1f90d025445248ebb_1222x1010.png) 5. 打開系統查看控制臺打印,發現打印成功 ![](https://box.kancloud.cn/55bc64fbca22b87d10d383777304704e_1132x806.png) ## 使用同步調用api 很多業務場景,經常會有同時幾個接口調用共同依賴的場景,若超過3個的話,都寫在.then方法里進行操作,代碼會變得非常不優雅,耦合度也高。下面我們來嘗試下使用同步操作代碼 1. demo增加mock接口test ![](https://box.kancloud.cn/7903e154aea11e819a60803c4548182c_1094x774.png) 2. 對應service增加接口定義 ![](https://box.kancloud.cn/632b0d0026e205290fb4d50cdf3c9eb7_1146x398.png) 3. 更改代碼,單獨抽離出一個方法init,用于同步代碼的操作。同時將init的返回類型打印出來 ![](https://box.kancloud.cn/0d40c019d6a7edff3d695ad309a1ab53_1346x1436.png) 4. 打開系統查看控制臺打印,可以看到兩條信息都打印成功,而且是按順序加載。這樣解耦了多個接口下都操作,代碼看起來更清爽,可讀性更高。 ![](https://box.kancloud.cn/4cd80ea884e52abcecab98652c5f4a12_1386x1166.png) 5. 可以看到,返回都是一個Promise對象,具體介紹,請看:https://www.imooc.com/article/20580 6. 還有一點需要注意的是,如果需要用到promise,那么方法前必須帶有`async`關鍵字,否則將失效
                  <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>

                              哎呀哎呀视频在线观看