gpt4 book ai didi

javascript - 用 bluebird promise 迭代数组

转载 作者:行者123 更新时间:2023-11-30 09:41:43 24 4
gpt4 key购买 nike

我试图通过首先将数组中的所有值乘以 2 然后返回更新后的数组来使用 promises 遍历数组:

var Bluebird = Promise.noConflict()
var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];

function loopThroughArray(arr) {
return Bluebird.each(arr, function(value) {
return value = value * 2;
}).then(function(arr) {
console.log('--done--');
console.log(arr);
// should return [2, 4, 6, 8, 10, 12, 14, 16, 18];
});
}

loopThroughArray(arr);

但是,我的函数仍然返回原始数组。有人可以帮忙吗?这是我的 fiddle :

http://jsfiddle.net/mpo4yrmu/71/

提前致谢!

最佳答案

使用 .map 代替 .each

.each 不关心返回值,.map

fiddle :http://jsfiddle.net/free_soul/mpo4yrmu/73/

var Bluebird = Promise.noConflict()
var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];

function loopThroughArray(arr) {
return Bluebird.map(arr, function(value) {
return value = value * 2;
}).then(function(arr) {
console.log('--done--');
console.log(arr);
// does return [2, 4, 6, 8, 10, 12, 14, 18, 19];
});
}

loopThroughArray(arr);

关于javascript - 用 bluebird promise 迭代数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40880715/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com