我编写了这个异步函数,该函数从API提取数据。
const getData = async () => {
const response = await fetch(`${url}`);
const json = await response.json();
return json.results.slice(0,3);
}
我希望它返回一个包含3个对象的数组。
我在非异步函数中调用getData
函数
function App() {
const thing = getData().then(data => data);
console.log("Thing is: " + thing);
}
但是我没有打印出我的数组,而是得到"Thing is: [object Promise]"
,我也不知道为什么。我已经阅读了一下,它说async
函数将始终返回一个promise,所以尽管我在getData
中的return语句定义了一个由3个对象组成的数组,但最终将返回一个promise,一旦解决,我可以访问该数组。因此,我继续进行操作,然后在调用.then
函数时使用getData
,但是我仍然得到诺言而不是数据吗?我想我的箭头功能做错了,我不知道我是否正确返回了数据。