先建立一個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函數