async await 操作基于promise實現的
async await這兩個關鍵字是一起使用,分開使用會報錯
await 后面只能跟promise對象
不熟悉的promise異步操作的朋友,去看看我promise那邊文章
Promise 解決多層嵌套,回調地獄
什么叫回調地獄
寫一個實例,就是惡心的多層欠嵌套
function a(){ function b(){ function c(){ } } }
這樣的代碼看著就不容易維護,性能底下
下面我們看看fs模塊解決異步請求,同步結果的問題
//es7let fs=require('fs');function read(url) { //new Promise 需要傳入一個executor 執行器 //executor需要傳入兩個函數 resolve reject return new Promise((resolve,reject)=>{ //異步讀取文件 fs.readFile(url,'utf8',function (err,data) { if(err){ reject(err) }else{ resolve(data); } }) }) };//async await 解決異步問題,基于promise//async await這兩個關鍵字一起使用//await 后面只能跟promise對象async function getData(){ try{ //Promise.all()并發讀取 let result =await Promise.all([read('name.txt'),read('age.txt')]); console.log(result); }catch (e){ console.log(e); } } getData();//Promise 解決多層嵌套,回調地獄// 解決異步請求,同步結果的問題
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com