2016-03-20 17 views
0

Bazı mongoose sorgusuyla Node.js'de bir if ifadesi yazmaya çalışıyorum ancak if ifadesi doğru şekilde yürütülmez.node.js ifadesi bazı mongoose sorgusuyla birlikte

app.get('Job/GetJobs', function(req,res){ 
     if(JobDB.Find()==null){ 
     req.render('home.html'); 
     } 
     else req.render('Job.html') 
    }) 

Ama java ancak req.render ('home.html') çünkü node.js olsaydı Yukarıdaki kod çalışır;:

Yani yapıyorum JobDB.find() tamamlanmadan önce çalıştırılır. Node.js içinde

cevap

1

Çoğu fonksiyon asenkron, böylece bir geri arama kullanmak gerekir:

belgelere bakın

app.get('Job/GetJobs', function(req,res){ 
    JobDB.find({}, function(err, result) { 
     if(!result) req.render('home.html') 
     else req.render('Job.html') 
    }) 
}) 

(orada işleme bazı yanlışlıklar içermeyecek gerekecek): http://mongoosejs.com/docs/2.7.x/docs/finding-documents.html