1
我正在尋求一些算法建議。比方說,這個想法是你必須做這樣的事情:批量操作一個接一個v.s批量操作
operation.getAnimal('zebra')
.then(animal => {
return operation.doSomethingWithAnimal(animal)
})
但不是這樣一個只是時間,你需要爲許多不同的動物的做到這一點。
let animals = ['zebra', 'dog', 'cat', 'fish', 'bird']
Promise.map(animals).then(animalName => {
return operation.getAnimal(animalName)
.then(animal => {
return operation.doSomethingWithAnimal(animal)
})
})
,或者你可以做這樣的事情:
function props (items, promise) {
let results = {}
_.each(items, item => {
results[item] = promise(item)
})
return results
}
Promise.props(props(animals, option.getAnimal))
.then(gottenAnimals => {
return Promise.props(props(gottenAnimals, options.doSomethingWithAnimal))
})
第一個例子將得到動物,然後做一些事情,在這裏, 第二個例子將得到所有的動物然後運行做一些與他們。
不是一大堆的差異。在第一個例子中,你應該保存一些內存,因爲在對它們進行處理之前,你並沒有將它們全部存儲在數組中。 –
感謝一羣@MikeC,這是我正在尋找的確切類型的東西。 – ThomasReggi