async函式(asynchronous 非同步的)
同步:
console.log(1);
console.log(2);
console.log(3);
console.log(4);
//依次列印1 2 3 4;
非同步 ajax 檔案讀取io操作:
console.log(1);
console.log(2);
settimeout(function(),3000);
console.log(3);
console.log(4);
//先列印1 2 3 4,隔三秒後列印3000;
async函式返回的是resolve狀態的promise物件:
async function fn()
let result=fn();
console.log(result);//列印:promise 。
promise 物件:
let p = new promise(function(resolve,reject));
p.then(function(data));
async函式裡面的返回值傳遞給then方法:
async function fn()
let p1 = fn();
p1.then(function(data));
async函式用來處理非同步:
function one(),3000);})}
function two(),2000);})}
//await只能出現在非同步函式裡面,
async function shunxu()
let p3 = shunxu();
p3.then(r=>);
//先列印start,三秒後列印兩次one_3000,列印完one_3000然後隔兩秒列印兩次two_2000和結束;
Generator函式與async函式的區別介紹
generator函式 generator函式是es2015提供的非同步解決方案,與普通函式有很大的不同 特徵 1 在function關鍵字後面跟乙個 號 2 在函式體內部使用yield表示式作為乙個狀態 generator函式返回乙個遍歷器,可通過for of方法遍歷每個狀態 用法 執行gener...
async wait 多個async函式巢狀
1.假如函式 async function a a 會等到customfun 的函式體內所有的 執行結束,再執行console.log a async function customfun ms res 777 t console.log promise then result console.lo...
async函式的實現原理 例項
generator是實現async函式的關鍵 function helloworldgenerator var hw helloworldgenerator hw.next hw.next hw.next hw.next 複製 let fs require fs function readfile ...