首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法使async javascript工作

无法使async javascript工作
EN

Stack Overflow用户
提问于 2012-12-01 21:51:31
回答 3查看 138关注 0票数 0

我使用的是node.js、RailwayJS和JugglingDB。

我有一个模型:

代码语言:javascript
复制
Model.afterInitialize = function() {
  var me = this;
  Sequence.getSequence('forModel', function(sequence) {
    me.serialId = sequence;
  });
  me.title = 'Hello';
}

完成所有操作后,仅设置属性title。这并不奇怪,但我不能让它工作。我尝试使用async模块,但没有成功。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-12-26 08:10:43

Model.afterInitialize是第三方应用程序接口的一部分,我无法更改,所以不幸的是,没有办法做到这一点。我希望某种类型的无限循环检查标志能起作用,但它不能,即使它能起作用,这也是一个障碍。

我最终连接到了另一个方法Model.beforeSave = function(callback) {};,它需要一个回调。

仅供参考,我使用的是https://github.com/1602/jugglingdb

票数 0
EN

Stack Overflow用户

发布于 2012-12-01 23:05:24

增加了一个回调参数,可以进行链接。

代码语言:javascript
复制
Model.afterInitialize = function(then)
{
  then = then || function(me) { };

  var me = this;

  Sequence.getSequence('forModel', function(sequence)
  {
    me.serialId = sequence;
    me.title = 'Hello';

    then.call(null, me);
  });
};
票数 2
EN

Stack Overflow用户

发布于 2012-12-01 22:19:11

如果Sequence.getSequence是异步的,则serialId将在调用时从回调中设置。因为它是异步的,所以这可能是在Model.afterInitialize返回之后。如果您必须执行依赖于所设置的serialId的操作,请从Sequence.getSequence回调中触发它们。

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

https://stackoverflow.com/questions/13660091

复制
相关文章

相似问题

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