zaman uyumsuz dizisi:node.js Ben eşzamanlı <code>async.each</code> kullanarak bir dizi üzerinde yineleme çalışıyorum yineleme
async.each(supplier_array, function(supplier) {
console.log('looking at : ' + supplier);
knex(host_name + '.order_item').where({
supplier: supplier,
order_id: order_id
}).then(function(data) {
console.log(data);
knex(host_name + '.distributor').select()
.then(function(data) {
console.log(data);
}).catch(function(error) {
console.log('error: ' + error);
});
}).catch(function(error) {
console.log('error: ' + error);
});
});
Benim supplier_array
3 öğesi vardır. Yani ne olacağını uygulaması (eşzamanlı) olmalıdır geçerli:
1/ilk varış/ilk dizi elemanı:
- console.log (tedarikçi)
- console.log (order_item)
- console.log (dağıtıcı) satıcılar 2/ikinci dizi elemanı için
:
- console.log (teslimatçı)
- console.log (order_item)
- console.log (dağıtıcı) satıcılar 3/üçüncü dizi elemanı için
:
- console.log (satıcılar)
- console.log (order_item)
- console.log (dağıtıcı)
Ancak, zaman uyumsuz hareket eder:
- console.log (teslimatçı)
- console.log (teslimatçı)
console.log (teslimatçı)
console.log (order_item)
- console.log (order_item)
console.log (order_item)
console.log (dağıtıcı)
- console.log (dağıtıcı)
- console.log (dağıtıcı)
biri bana ulaşmak yardımcı olabilir istenen eşzamanlı olarak async
içinde adımların içinden koşma etkisi?
Şimdiden teşekkürler!
Neden bu bir sorun? – Wainage
Her diz sözünde "geri dönüş" yapmanız gerekebilir. Bu, işlenmesi gereken bir söz olduğunu bildirmek için async'ı kabul eder. Deneyin ve doğru cevap olup olmadığını bana bildirin.Bu konuya kendimi knex ile girdim. Ayrıca, bir söz verdiğiniz için, “sonra” içerideki satırı 9. sıradaki bir seviyeye taşıyabilirsiniz. – Handonam