gpt4 book ai didi

javascript - 异步node.js :nested array with callback

转载 作者:太空宇宙 更新时间:2023-11-03 22:24:41 25 4
gpt4 key购买 nike

我有一个像这样的数组

var products = [
{'id':1 ,items:['a','b']},
{'id':2,items:['c','d']}
]

我想要的是循环遍历这个数组并为items数组插入数据库

例如没有异步

products.forEach((pdct) =>{

pdct.items.forEach((item) => {
calltoDb(item,function(result){
console.log(item+'item inserted');
})
});

});

我希望通过异步实现相同的效果,并在插入所有项目后获得结果

我需要使用 eacheachSeries 方法,我对此感到困惑

最佳答案

eacheachSeries 之间的区别在于 eachSeries 一次运行一个异步操作。因此,对于 each 来说,不能保证 iteratee 函数会按顺序完成。

因此,如果您不需要像 iteratee 这样的顺序,最好使用 each,否则使用 eachSeries

示例:

import each from 'async/each'
let products = [
{'id':1 ,items:['a','b']}
, {'id':2, items:['c','d']}
, {'id':3, items:['e','f']}
]
each(products, (product, callback) => {
console.log(product)
return callback()
})

可以返回

{'id':3, items:['e','f']}
{'id':1 ,items:['a','b']}
{'id':2, items:['c','d']}

每个系列:

import eachSeries from 'async/eachSeries'
let products = [
{'id':1 ,items:['a','b']}
, {'id':2, items:['c','d']}
, {'id':3, items:['e','f']}
]
eachSeries(products, (product, callback) => {
console.log(product)
return callback()
})

它会回来

{'id':1 ,items:['a','b']}
{'id':2, items:['c','d']}
{'id':3, items:['e','f']}

关于javascript - 异步node.js :nested array with callback,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48317803/

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