先建立一个promise对象,里面执行一个异步函数git
function fetchUser() {
return new Promise((resolve, reject) => {
fetch('https://api.github.com/users/superman66')
.then((data) => {
resolve(data.json());
}, (error) => {
reject(error);
})
});
}github
使用async调用promise对象json
async function getUserByAsync(){
let user = await fetchUser();
return user;
}api
async 函数返回一个 Promise 对象,因此能够用.then方法,async
函数内部 return 返回的值。会成为 then
方法回调函数的参数。
getUserByAsync()
.then(v => console.log(v));promise
注意事项:异步
async 函数返回的 Promise 对象,必须等到内部全部的 await 命令的 Promise 对象执行完,才会发生状态改变async
正常状况下,await 命令后面跟着的是 Promise ,若是不是的话,也会被转换成一个 当即 resolve 的 Promise函数