0

我有以下代码,如果我使用 console.log,它会记录 json,但我想将它保存在 jsonBlocks 变量中。但它不会起作用。我猜是因为异步的东西,但我找不到解决它的方法。

var jsonBlocks;


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

1 回答 1

3

您可以使用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.

于 2019-04-26T18:11:28.100 回答