我有以下代碼的NodeJS:在nodejs中回調內部回調?
app.get('/dashboard', function(req, res){
db.collection('com_url_mamy').find().toArray(function(err, doc){
db.collection('com_url_mamy').find({'price':''}).count(function(err, docs){
db.collection('com_url_mamy').find({"price":{$not:{$ne:"last_price_1"}}}).count(function(err, last_doc){
if(err){console.log(err);}
console.log(docs);
res.render('dashboard',{'doc':doc, 'docs':docs, 'last_doc':last_doc});
});
});
});
在這裏,我要添加更多的兩個或三個查詢/回調。
但我不認爲這是正確的做法。 請任何人都可以告訴我如何解決此問題以提高性能。
謝謝
@MehdiElFadil這不是重複的。他可以使用Promises和多個併發異步調用來改善他的代碼。您鏈接的問題是關於代碼風格,而他的問題是關於特定情況下的性能問題,而不是可以改進的問題。 –
我在這裏貼了我的答案,因爲問題已經無故關閉http://paste.ofcode.org/zHmnq2u8qKzDx9ggnYHep9 由於你的3個查詢不依賴於其他人,你可以使用'''Promise.all'''並行執行其中的3個。 –
順便說一句'''{price「:{$ not:{$ ne:」last_price_1「}}}'''可以重構爲'''{」price「:」last_price_1「}''(不等於等於:p) –