首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >帆水声同步呼叫

帆水声同步呼叫
EN

Stack Overflow用户
提问于 2014-04-01 20:42:25
回答 3查看 5.1K关注 0票数 2

如何使用Sails.js同步调用水系函数。我试过了

代码语言:javascript
复制
var data = Model.findOne({ foo : "bar"});

代码语言:javascript
复制
sync(Model, findOne);
sync.fiber(function(){
    var data = Model.findOne({ foo : "bar"});
});

他们都不为我工作。

怎样才是正确的方法?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-04-01 21:01:03

水线方法是异步的,简单明了的。没有任何命令会使他们不这样做。您会发现访问外部数据源(数据库、HTTP等)的许多Node方法都是这样的。

如果您需要以一种更同步的方式链接它们,可以使用像异步这样的包。

票数 5
EN

Stack Overflow用户

发布于 2014-04-01 21:07:49

我不确定这在输水线上是可能的。我几乎可以肯定这不是我的意图。

代码语言:javascript
复制
Model.findOne({ foo : "bar"}, function(err, result){
  var data = result;
});

以上情况会更好.不要对抗nodejs的异步特性。以后才会疼。

票数 2
EN

Stack Overflow用户

发布于 2014-12-08 11:10:54

很抱歉,这个答案已经太晚了,您可能已经找到了解决方案,但是对于将来的引用,您可能需要更新/config/globals.js并设置_: true,从而将其设置为全局的/config/bootstrap.js,然后使用以下内容编辑/config/bootstrap.js

代码语言:javascript
复制
global.sync = require("synchronize");
_.each(sails.models,function(model){
    _.map(model,function(attrValue,attrKey){ 
        if(typeof attrValue=="function"){
            model[attrKey+"Sync"]=sync(attrValue);
        }
    });
});

从现在开始,您可以使用任何模型函数的同步版本,方法是在像下面这样的users.findSync({fname:'Mostafa'})函数后面加上"Sync“。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22796454

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档