javascript - 如何将字典变量设置为 for 循环内的承诺结果?
问题描述
实际上,我正在对用作 getPrices 函数的参数的字符串列表运行 for 循环。getPrices 是对 API 的获取请求,因此我确保在其上放置一个 .then 语句以获取结果。该结果被输入另一个名为“oneDay”的函数(没有异步功能)。我试图将 oneDay 的每个结果存储在一个名为“priceDict”的字典中,键是当前循环期间的字符串参数。问题是,无论我如何配置 .thens,我似乎都无法在字典中存储除 promises 之外的任何内容。
这个代码片段在运行后,只给了我一系列 priceDict 的承诺:
var priceDict = {};
for (const position of setPositions) {
let positionFormula = function (somePosition) {
return getPrices(somePosition).then((data) => {
return oneDay(data, start, today, interval);
});
};
let someBullshit = positionFormula(position);
priceDict[position] = someBullshit.then(function (result) {
return result;
});
}
console.log(priceDict);
我怎样才能使 priceDict 实际上是结果,而不仅仅是 promise 对象?
解决方案
推荐阅读
- sql-server - SQL Server - 在包含外部引用的聚合表达式中指定了多个列
- linq - 我想对 LINQ 问题和答案进行分组并让它们正确显示
- javascript - 如何动态增加 SharedArrayBuffer 的大小
- java - Maximo (Maximo Asset Management) 中的 SOAP 和 REST API 有什么区别?
- android - 使用 onBackPressed() 和 onActivityResult() 将数据传回第一个活动
- python - 在不使用循环的情况下处理两个相互依赖的数组,TypeError:只有 size-1 数组可以转换为 Python 标量
- python - 无法在 Python3 中解决多重继承问题
- javascript - 尝试使用 Windows 命令提示符复制时出错
- sql - 显示月份以及该月雇用了多少人
- python - 为什么 except:ValueError 在我的代码中不起作用?