javascript - Attaching data from callback function inside a for loop Loopback -


i´m trying create hook loop on each result response, find user based on current object , attach attribute final response. however, async calls not letting me send right response:

  board.afterremote('find',function(context,boards,next){     var users = [];     context.result.admin =[];     var user = app.models.user;       context.result.foreach(function(result){       user.findone({where:{id:result.adminid}},function(err,user){         result.admin = user;       });      });     console.log("result: "+json.stringify(context.result));     next();    }); 

how can able add user each result on context.result ?

is user.findone , asynchronous operation? if so, recommend using async control flow library async iterate on result , perform asynchronous action on each item. this:

board.afterremote('find',function(context,boards,next){     async.each(context.result, function(result, callback) {         user.findone({where:{id:result.adminid}},function(err,user){           result.admin = user;           callback(err) // done iteration         });     }, function(err) { // called once every item has been iterated on         console.log("result: "+json.stringify(context.result));         next();     }); });