javascript - 解决承诺时如何访问 then 范围之外的数据?
问题描述
菜鸟问题在这里。有人可以详细说明为什么范围seriesData
外的变量then
仍然是一个空对象。此外,访问上述范围之外的数据的适当方法是什么?
fetchData
是一种在成功解析时返回由三个对象组成的数组的方法。
显然,作用域console.log
内部打印了预期的对象,其中包含来自已解决的承诺的结果数据。then
seriesData
这是代码。
import fetchData from './data';
const seriesData = {};
fetchData()
.then(res => {
seriesData.characters = res[0];
seriesData.locations = res[1];
seriesData.episodes = res[2];
console.log(seriesData);
})
.catch(error => console.error(error.message));
console.log(seriesData);
解决方案
推荐阅读
- c++ - 将 BYTE* 从 MODULEENTRY32 的 modBaseAddr 转换为 std::string
- c# - 网格甚至没有在 C# 中显示
- pgp - Keybase 私有 PGP 密钥导出失败,但解密按预期工作。那么我的私钥在哪里呢?
- windows - dir 命令意外行为
- javascript - Vue.js 与 Google Auth 使用模块?
- r - 计算某一行之前 14 行的一列的平均值,由每组的日期(年份)标识
- python - 使用 Gtk.DrawingArea 检测 Gtk 程序中缺少的 python-gi-cairo
- selenium-webdriver - 黄瓜 @Before 钩子运行两次 @After 一次
- rasa-nlu - 无法让机器人执行不同的操作
- javascript - Flow中的误报谓词函数类型检查,用于返回对其参数的否定的函数