亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

JS基于ES6新特性async await進行異步處理操作示例

2019-11-19 12:10:44
字體:
來源:轉載
供稿:網友

本文實例講述了JS基于ES6新特性async await進行異步處理操作。分享給大家供大家參考,具體如下:

我們往往在項目中會遇到這樣的業務需求,就是首先先進行一個ajax請求,然后再進行下一個ajax請求,而下一個請求需要使用上一個請求得到的數據,請求少了還好說,如果多了,就要一層一層的嵌套,就好像有點callback的寫法了,那是相當惡心的,下面我就來講一下如何使用ES6的新特性async await進行異步處理,使上述情況就好像寫同步代碼一樣,首先我們先舉個例子:

先寫上json文件:

code.json:

{  "code":0,  "msg":"成功"}

person.json:

{  "code":0,  "list":[    {      "id":1,      "name":"唐僧"    },    {      "id":2,      "name":"孫悟空"    },    {      "id":3,      "name":"豬八戒"    },    {      "id":4,      "name":"沙僧"    }  ]}

比如我們有兩個請求,如下,這里用的axios:

function getCode(){  return axios.get('json/code.json');}function getlist(params){  return axios.get('json/person.json',{params})}

我們第二個請求獲取列表的時候需要使用第一個請求得到的code值,只有code值為0時,才能請求,而且當做參數傳進去,那么我們看一下常規的做法吧

function getFinal(){   console.log("我是getFinal函數")   getCode().then(function(res){     if(res.data.code == 0){        console.log(res.data.code);         var params = {           code:res.data.code         }        getlist(params).then(function(res){          if(res.data.code == 0){             console.log(res.data.list);            }          })        }     })}getFinal();

看結果

雖然結果出來了,可是這種寫法真的挺難受的,下面來一個async await的寫法

async function getResult(){      console.log("我是getResult函數")      let code = await getCode();      console.log(code.data.code);      if(code.data.code == 0){        var params = {          code:code.data.code        }        let list = await getlist(params);        console.log(list.data.list);      }    }getResult();

下面看結果

當然還剩最后一點,處理異常,可以加上try catch

async function getResult(){      console.log("我是getResult函數")      try{        let code = await getCode();        console.log(code.data.code);        if(code.data.code == 0){          var params = {            code:code.data.code          }          let list = await getlist(params);          console.log(list.data.list);        }      }catch(err){        console.log(err);      }    }getResult();

個人認為做vue項目的時候,如果對于異常沒有特殊處理,可以不加try catch,因為打印出來的錯誤跟vue自己報的錯誤是一樣的,而且還是黑的字體,不如醒目的紅色來的痛快啊!當然如果要對錯誤進行特殊處理,那么就加上吧

代碼風格是不是簡便了許多,而且異步代碼變成了同步代碼,下面我稍微講一下后者寫法的代碼執行順序

首先在 function 前面加 async 用來說明這個函數是一個異步函數,當然,async是要和await配合使用的,第一個請求

let code = await getCode();

await 意思是等一下,等著getCode()這個函數執行完畢,得到值后再賦值給code,然后再用code的值進行下一步操作,就是這么簡單!?。≮s緊去改代碼??!

更多關于JavaScript相關內容可查看本站專題:《javascript面向對象入門教程》、《JavaScript切換特效與技巧總結》、《JavaScript查找算法技巧總結》、《JavaScript錯誤與調試技巧總結》、《JavaScript數據結構與算法技巧總結》、《JavaScript遍歷算法與技巧總結》及《JavaScript數學運算用法總結

希望本文所述對大家JavaScript程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品丝袜久久久久久不卡| 91系列在线观看| 欧美高清性猛交| 色综合五月天导航| 亚洲2020天天堂在线观看| 国产精品永久免费在线| 亚洲国产精品久久久久久| 国产视频精品va久久久久久| 蜜臀久久99精品久久久无需会员| 欧美一级片一区| 91tv亚洲精品香蕉国产一区7ujn| 日韩亚洲欧美成人| 亚洲石原莉奈一区二区在线观看| 日韩国产在线播放| 国产精品成人一区二区三区吃奶| 亚洲综合中文字幕68页| 欧美日韩国产色| 亚洲欧美日韩综合| 91久久中文字幕| 日韩精品黄色网| 色伦专区97中文字幕| 欧美精品成人91久久久久久久| 日韩久久免费电影| 亚洲国产精品va在线| 日韩在线视频一区| 亚洲性线免费观看视频成熟| 国产999精品| 国产成人一区二区三区小说| 亚洲成人黄色在线| 国产精品普通话| 国产日韩欧美在线播放| 欧美福利视频在线| 97久久精品视频| 欧美在线www| 国外成人在线视频| 人妖精品videosex性欧美| 狠狠久久亚洲欧美专区| 亚洲激情成人网| 国产精品美女免费看| 992tv成人免费视频| 亚洲国模精品一区| 欧美日韩国产激情| 久久久久www| 久久在精品线影院精品国产| 中日韩美女免费视频网站在线观看| 91精品久久久久久久久青青| xxav国产精品美女主播| 欧美日韩中文在线| 中文字幕亚洲一区在线观看| 国产精品九九久久久久久久| 国产精品白丝av嫩草影院| 久久精品国产久精国产一老狼| 91九色视频在线| 国产91精品最新在线播放| 亚洲精品在线91| 亚洲色图av在线| 在线日韩av观看| 国产亚洲欧洲在线| 在线观看91久久久久久| 欧美极品欧美精品欧美视频| 亚洲精品国精品久久99热| 国产精品嫩草视频| 91伊人影院在线播放| 国产精品美女视频网站| 九九久久精品一区| 成人精品福利视频| 高清一区二区三区日本久| 日韩理论片久久| 国产精品精品一区二区三区午夜版| 日韩在线中文字幕| 欧美在线一级视频| 国内精品久久久久久久| 精品久久久久久中文字幕| 2020国产精品视频| 91产国在线观看动作片喷水| 91av中文字幕| 国产精品久久久久久av下载红粉| 亚洲一区二区久久久久久| 精品少妇v888av| 亚洲色图五月天| 国产精品老女人视频| 国产精品偷伦一区二区| 大荫蒂欧美视频另类xxxx| 欧美中文字幕在线视频| 国产精品久久久久久超碰| 日本高清视频一区| 精品国产区一区二区三区在线观看| 欧美性视频在线| 日韩精品在线看| 粉嫩av一区二区三区免费野| 国产精品网红直播| 亚洲成人精品视频| 精品国产一区二区三区四区在线观看| 欧美一区二区三区精品电影| 色综合五月天导航| 中文字幕亚洲专区| 久久免费视频观看| 久久综合久久美利坚合众国| 日韩精品极品视频免费观看| 狠狠躁夜夜躁久久躁别揉| 午夜欧美大片免费观看| 欧美成人h版在线观看| 久久免费福利视频| 国产精品三级久久久久久电影| 久久中文字幕在线| 亚洲热线99精品视频| 亚洲性xxxx| 日韩在线免费视频观看| 亚洲国产精品女人久久久| 国产精品女主播视频| 91国产视频在线播放| 性视频1819p久久| 最近2019年中文视频免费在线观看| 久久亚洲一区二区三区四区五区高| 精品久久久国产| 青青草一区二区| 国产日产亚洲精品| 日韩久久免费视频| 欧美日韩国产麻豆| 992tv在线成人免费观看| 国产va免费精品高清在线| 2018日韩中文字幕| 国产综合福利在线| 疯狂欧美牲乱大交777| 久久精品亚洲94久久精品| 国产中文日韩欧美| 91社区国产高清| 色狠狠av一区二区三区香蕉蜜桃| 精品中文字幕久久久久久| 日韩高清电影好看的电视剧电影| 久久久久国产精品免费| 亚洲图片在线综合| 欧美美女15p| 亚洲成人久久久| 久久久久成人精品| 色无极影院亚洲| 91av免费观看91av精品在线| 久久精品国产成人| 精品亚洲一区二区三区四区五区| 在线精品国产成人综合| 精品久久久久久中文字幕一区奶水| 欧美成人精品一区二区| 亚洲已满18点击进入在线看片| 亚洲欧美综合精品久久成人| 色综久久综合桃花网| 色婷婷av一区二区三区在线观看| 亚洲日本欧美日韩高观看| 久久久国产视频91| 国产精品久久久久久久9999| 少妇精69xxtheporn| 91精品91久久久久久| 91精品国产自产在线观看永久| 91精品国产网站| 黄色成人在线免费| 色综合久久中文字幕综合网小说| 欧美肥臀大乳一区二区免费视频| 国内精久久久久久久久久人| 97精品久久久中文字幕免费| 久久艹在线视频| 欧美成人精品不卡视频在线观看| 岛国视频午夜一区免费在线观看| 91高清免费视频| 日韩av在线一区| 国产精品网站视频|