我有一个正在迭代的数组。对于每个元素,我想调用另一个 API 并将结果分配给当前正在查看的元素的属性。
...
sortedRoutes.forEach(function(route) {
let myVariable = false;
var locationdata = {
uri: `url...`,
headers: {
'X-API-KEY': someKey...,
'User-Agent': 'Request-Promise'
},
json: true
};
rp(locationdata)
.then(function(repos) {
...
route.locationInfo = repos.data;
myVariable = true;
})
.catch(function(err) {
...
})
console.log(myVariable); // false
}
该locationInfo
属性不会添加到数组中的每个元素。
实际上,事实证明,我尝试在.then
函数中分配的任何变量都不会将其值带到外部(我用myVariable
来说明我的意思)。