有一个loadJson函数,它返回Firebase链接的Json
async function loadJson(url) {
let response = await fetch(url)
let data = await response.json()
return data
}
我正在尝试将loadJson()
的值分配给此变量,并在promise中使用它。
let indexJSON = await loadJson(url)
indexJSON.then(() => {
// some code
})
但是为什么这段代码会引发以下错误?
Uncaught SyntaxError: await is only valid in async function
答案 0 :(得分:3)
您的问题是您的await
在这里:
let indexJSON = await loadJson(url)
indexJSON.then(() => {
// some code
})
如果您希望promise调用不带await
的函数:
let indexJSON = loadJson(url)
indexJSON.then(...)
答案 1 :(得分:1)
您可以使用IIFE并使用async-await,否则可以使用then
来评估诺言。
(async () => {
let indexJSON = await loadJson(url)
console.log(indexJSON);
})()