簡體   English   中英

Sailsjs find()回調操作

[英]Sailsjs find() callback action

我的回調有問題,我不知道該如何找回。

index: function(req, res,next) {
    User.find().exec(function(err,users) {
        if(err) {
         //do something
        }
        res.locals.users = users
        return true;
    });

   Country.find().exec(function(err,countrys) {
    //save country
   }

  console.log(res.locals.users)
  res.view({
     users: res.locals.users,
     country: countrys
     user:res.locals.user
  });
}

我怎樣才能訪問兩個對象?

謝謝

您的數據庫調用正在運行async ,這意味着在將數據傳遞給視圖之前先呈現視圖。 因此,您必須使其同步。 可以通過回調來實現,也可以鏈接函數而不是回調,就像這樣,

index: function(req, res,next) {
   User.find().exec(function(err,users) {
    if(err) {
     //do something
    }
    else{
      res.locals.users = users
      Country.find().exec(function(err,countrys) {
       if(err) {
           //do something
       }
       else{
           console.log(res.locals.users)
           res.view({
             users: res.locals.users,
             country: countrys
             user:res.locals.user
           });
       }
      }
    }
  });
}

其他方法是使用回調。

如果您在不斷添加更多查詢時嘗試使其美觀且井井有條,則可以使用Sails附帶的異步庫

以這個答案為例

用承諾鏈接水線電話

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM