[英]Return data from a pending promise
尝试将响应存储到变量中。 不知道我做错了什么。 任何帮助,将不胜感激。
async function fetchData(url) {
const response = await fetch(url);
if (!response.ok) {
const message = `An error has occured: ${response.status}`;
throw new Error(message);
}
const data = await response.json();
return data;
}
async function getActivities() {
let response = null;
try {
response = await fetchData("https://www.boredapi.com/api/activity");
return response;
} catch (error) {
throw error;
}
}
let data = getActivities();
console.log(data);
您将不得不等待从getActivities
返回的承诺解决。 由于您将该函数标记为async
,它将返回一个解析为函数返回值的承诺。
例如:
getActivities()
.then(data => console.log(data));
或者,将您的应用程序逻辑包装到一个async
函数中,这将允许您使用await
:
async function main() {
let data = await getActivities();
console.log(data);
}
main();
一旦顶级等待成为一件事,将您的逻辑包装在主函数中将是不必要的。
使用您在函数中使用的相同逻辑, console.log()
将在您的数据返回之前执行良好。
您可以使用.then()
getActivities().then(data =>
{ console.log(data);
});
或者如果你想使用另一个async/await
(async randomFunction() {
let data = await getActivities();
console.log(data);
}());
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.