javascript - javascript如何将异步等待函数初始化为变量
问题描述
我是 javascript async await 函数的初学者。我试图在我的后端发出一个异步请求,我希望它在我的变量中初始化,但是当我尝试记录我的变量时,它给了我一个承诺而不是一个值。当我也试图等待时。它给了我错误。
这是我所做的:
const getActivityContestApi = async () => {
try {
const response = await fetch(
`${getDjangoApiHost()}/api/events/event_activity_contests/`, {
method: 'GET',
headers: { 'Content-Type': 'application/json' },
});
const data = await response.json();
return data;
} catch(error) {
console.log(error)
}
}
上面的函数是我的异步函数,我希望将它存储在这样的变量中:
const test_variable = getActivityContestApi();
console.log(test_variable);
这段代码给了我一个承诺。我想要实际的变量,所以我试着像这样等待:
const test_variable = await getActivityContestApi();
console.log(test_variable);
这给了我反应错误。请帮忙。
解决方案
await 只允许在 async 函数中使用。
const test_variable = await getActivityContestApi();
您只能在另一个异步函数中使用此语句。
推荐阅读
- bash - 在ubuntu中通过命令行设置时间同步
- r - 如何在 R Shiny 中实现 OOPS 类对象?
- r - GGPLOT 将堆叠条形图中的标签与数据子集对齐
- python - 查找段是否在另一个段的距离内
- python - 如何有效地添加或乘以 numpy 数组的每个第 N 个元素?
- mongodb - 如何在 NestJS 和 Mongodb 中使用 @Query 进行过滤
- c++ - 在两个进程directx 11之间持续共享纹理
- image - 如何在类组件中的函数调用上设置状态。在本机反应
- django - Select2 后端作为 '\t' 保存到数据库的问题,如何解决?
- python - 如何使用列表理解将字符串附加到列表中