我正在尝试制作一个异步函数并将其响应保存到变量中,然后console.log该变量,但它是console.log在异步函数完成之前记录响应。
import axios from 'axios';
async function getItems() {
const response = await axios.get(SOME_URL);
console.log('done', response);
return response;
}
const items = getItems();
console.log('items: ', items);
我希望日志看起来像这样:
// Expected result
done: {...result...}
items: {...items...}
但是我实际上得到的是:
// ACTUAL result
items: Promise {<pending>}
done: {...result...}
我想等到请求完成后,再继续对getItems
的呼叫。
我想念什么?
答案 0 :(得分:3)
由于“ getItems
”是异步调用,因此您将在“ .then”中获得如下结果
import axios from 'axios';
async function getItems() {
const response = await axios.get(SOME_URL);
console.log('done', response);
return response;
}
getItems().then(items => console.log('items: ', items))