首页 > 解决方案 > 如何将获取的 JSON 保存在变量中 [node-fetch]

问题描述

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

var jsonBlocks;


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

标签: javascriptnode.jsnode-fetch

解决方案


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


推荐阅读