【发布时间】:2020-08-15 10:39:11
【问题描述】:
有一个loadJson函数可以返回firebase链接的Json
async function loadJson(url) {
let response = await fetch(url)
let data = await response.json()
return data
}
我正在尝试将 loadJson() 的值分配给此变量并在承诺中使用它。
let indexJSON = await loadJson(url)
indexJSON.then(() => {
// some code
})
但是为什么这段代码会抛出下面的错误呢?
Uncaught SyntaxError: await is only valid in async function
【问题讨论】:
-
javascript.info/async-await | “等待在顶级代码中不起作用”。您的 loadJson() 返回异步函数,因此您不必等待它,何时准备好将返回您的数据值。尝试做 loadJson(url).then(()=>{}) 或 let indexJSON = loadJson(url),将必须工作。 Await 只能存在于异步函数中。
标签: javascript ecmascript-2016