我有以下代码,如果使用console.log,它将记录json,但我想将其保存在jsonBlocks变量中。但这是行不通的。我猜这是由于异步的原因,但我找不到解决方法。

var jsonBlocks;


fetch('https://myurl')
    .then(res => res.text())
    .then(body => this.jsonBlocks = body )

最佳答案

您可以对特定代码使用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中。

关于javascript - 如何将获取的JSON保存在变量中[node-fetch],我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55847823/

10-10 00:09