asynchronous - Passing data to view in sailsjs asynchronously -
i want pass data res.view when have data calculated.
code:
followers: function(res, req, next){ var data = []; var me = req.session.user; for(var = 0; i<me.followers.length; i++){ user.findonebyid(me.followers[i], function founduser(err, user){ if(err) return next(err); followers.push(user) console.log(user) }); } res.view({ data: data }) }
issue res.view rendered before loop execution. have been scratching head find way resolve no luck. please dont suggest me ajax route because dont want use.
you don't need for
loop in code; can accomplished in 1 query. when have results, can render view:
followers: function(res, req){ var me = req.session.user; // use "in" query find users // id in array "me.followers" user.find({id: me.followers}).exec(function (err, users){ // don't call "next" in controller--send response instead if(err) return res.servererror(err); // send array of users view "data" var return res.view({data: users}); }); }
Comments
Post a Comment