es7 async/await使用
先创建一个promise对象,里面执行一个异步函数
function fetchUser() {
return new Promise((resolve, reject) => {
fetch('https://api.github.com/users/superman66')
.then((data) => {
resolve(data.json());
}, (error) => {
reject(error);
})
});
}
使用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