async await 解決非同步問題,這兩個關鍵字是es7提出的,所以測試,node和瀏覽器版本提高一些 async await 操作基於promise實現的 async await這兩個關鍵字是一起使用,分開使用會報錯 await 後面只能跟promise對象 不熟悉的promise非同步操作的朋友 ...
async await 解決非同步問題,這兩個關鍵字是es7提出的,所以測試,node和瀏覽器版本提高一些
async await 操作基於promise實現的
async await這兩個關鍵字是一起使用,分開使用會報錯
await 後面只能跟promise對象
不熟悉的promise非同步操作的朋友,去看看我promise那邊文章
Promise 解決多層嵌套,回調地獄
什麼叫回調地獄
寫一個實例,就是噁心的多層欠嵌套
function a(){ function b(){ function c(){ } } }
這樣的代碼看著就不容易維護,性能底下
下麵我們看看fs模塊解決非同步請求,同步結果的問題
//es7 let 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 解決多層嵌套,回調地獄 // 解決非同步請求,同步結果的問題