Bluebird Promisfy.jeder, der mit for-Schleifen und if-Anweisungen?

Gerade jetzt, in der übergeordneten for-Schleife (m < repliesIDsArray.length) abgeschlossen ist, bevor die ersten findOne feuert, so dass diese alle nur Schleifen durch das Letzte element des repliesIDsArray..asynchronen..

Was ist die korrekte syntax für eine promisified version dieses codeset? Bin neu promisification, und Fragen sich, wie zu Beginn dieses promisify + Schleife über arrays + - Konto für wenn-Aussagen..

Bluebird erforderlich ist, und Promise.promisifyAll(require("mongoose")); genannt wird.

for(var m=0; m<repliesIDsArray.length; m++){

objectID = repliesIDsArray[m];

Models.Message.findOne({ "_id": req.params.message_id},
    function (err, doc) {
        if (doc) {
         //loop over doc.replies to find the index(index1) of objectID at replies[index]._id
         var index1;
         for(var i=0; i<doc.replies.length; i++){
            if (doc.replies[i]._id == objectID) {
                index1 = i;
                break;
            }
         }
         //loop over doc.replies[index1].to and find the index(index2) of res.locals.username at replies[index1].to[index2]
         var index2;
         for(var j=0; j<doc.replies[index1].to.length; j++){
            if (doc.replies[index1].to[j].username === res.locals.username) {
                index2 = j;
                break;
            }
         }

         doc.replies[index1].to[index2].read.marked = true;
         doc.replies[index1].to[index2].read.datetime = req.body.datetimeRead;
         doc.replies[index1].to[index2].updated= req.body.datetimeRead;
         doc.markModified('replies');
         doc.save();
    }
}); //.save() read.marked:true for each replyID of this Message for res.locals.username

} //for loop of repliesIDsArray
Sie können Promise.each mit .fineOneAsync
Vielen Dank für das heads-up.. dieses zu Testen: Promise.each(function(repliesIDsArray) { console.log('is repliesIDsArray here now equivalent to repliesIDsArray[i] ? ' + repliesIDsArray ); }); Protokolle dieses aber: Possibly unhandled TypeError: fn must be a function .. würde auf jeden Fall zu schätzen wissen, ein Beispiel dafür, wie diese

InformationsquelleAutor StackThis | 2014-08-03

Schreibe einen Kommentar