javascript - 如何将获取的 JSON 保存在变量中 [node-fetch]
问题描述
我有以下代码,如果我使用 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
.
推荐阅读
- python - 为什么代码仅在 Python 中不在函数中时才有效?
- css - 垂直导航栏内容在小屏幕底部被剪裁
- ibm-midrange - IBM I:带有选项 (*SQL) 的 CRTSQLRPGI
- html - CSS SVG Wheen 动画不保持坐标
- javascript - sequelize 中切换的数据字段
- angular - 无法解析'@firebase/auth-types
- javascript - 悬停功能后图像不会调整为网格
- collectd - 脚本的 Collectd Exec 插件权限被拒绝
- python - Python 在控制台中执行命令
- node.js - 使用 aws ec2 部署角度节点应用程序 - 错误:无法连接到服务器