先创建一个promise对象,里面执行一个异步函数

function fetchUser() {
return new Promise((resolve, reject) => {
fetch('https://api.github.com/users/superman66')
.then((data) => {
resolve(data.json());
}, (error) => {
reject(error);
})
});
}

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

使用async调用promise对象

async function getUserByAsync(){
let user = await fetchUser();
return user;
}

async 函数返回一个 Promise 对象,所以可以用.then方法,async 函数内部 return 返回的值。会成为 then 方法回调函数的参数。
getUserByAsync()
.then(v => console.log(v));

注意事项:

async 函数返回的 Promise 对象,必须等到内部所有的 await 命令的 Promise 对象执行完,才会发生状态改变

正常情况下,await 命令后面跟着的是 Promise ,如果不是的话,也会被转换成一个 立即 resolve 的 Promise

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄