前端记录最后一天

mac2026-10-05  0

async、await的理解使用

let asyncFn = async()=> { let data = null; data = await getData(url);//getData()返回的数据是 {name:'my name is data!'} console.log(data.name);//打印出的是my name is data! } let notAsyncFn =()=> { let data = null; data = getData(url);//getData()返回的数据是 {name:'my name is data!'} console.log(data.name);//打印出的是undefined; 因为data此时还是null; } await后面的函数返回的是一个Promise对象,运行结果可能是 rejected,所以最好把 await 命令放在 try...catch 代码块中。 var getData = function (url){ console.log("get start"); console.log(url); return new Promise(function (resolve, reject) { //下面的request()方法 是nodeJS的request模块; request(url, function (error, response, body) { if (!error && response.statusCode == 200) { resolve(response.body); }else{ //throw new Error(response.statusText) reject('===error==='); } }); }) console.log("get end"); }

 

最新回复(0)