【发布时间】:2021-03-27 14:56:31
【问题描述】:
这是我的一些示例代码:
async function getAppState() {
return {
appState: {
someBar: false
}
},
async function req() {
const resp = await fetch("https://www.example.com/script.php", {
method: 'GET',
})
this.appState.someBar = await resp.json();
}
}
let foo = await getAppState();
console.log(foo)
我希望能够填充appState 并将其作为参数传递给console.log,如我上面的示例所示。显然我正在做的事情不起作用。我试图表明我想以同步方式运行getAppState(),以便在调用函数后将fetch() 调用的结果转换为console.log。构建此代码的正确方法是什么?
【问题讨论】:
-
您的代码格式错误 - 您的
getAppState函数返回req函数 -
你永远不会调用
req函数。你为什么还要定义那个辅助函数? -
async function永远不会给您同步响应。但是,您可以编写它以在给出响应之前按顺序等待正确的内容。
标签: javascript promise async-await fetch