我有以下代码,如果使用console.log,它将记录json,但我想将其保存在jsonBlocks变量中。但这是行不通的。我猜这是由于异步的原因,但我找不到解决方法。
var jsonBlocks;
fetch('https://myurl')
.then(res => res.text())
.then(body => this.jsonBlocks = body )
答案 0 :(得分:1)
您可以将async..await
用于特定的代码段,例如:
async function getBlock() {
let jsonBlocks;
try {
var response = await fetch('https://myurl');
jsonBlocks = await response.text();
console.log(jsonBlocks)
} catch (e) {
// handle error
console.error(e)
}
}
getBlock()
如果您从getBlock
返回任何内容,则将它们包装在Promise
中。