繁体   English   中英

无法使异步JavaScript正常工作

[英]Cannot get async javascript to work

我正在使用node.js,RailwayJS和JugglingDB。

我有一个模型:

Model.afterInitialize = function() {
  var me = this;
  Sequence.getSequence('forModel', function(sequence) {
    me.serialId = sequence;
  });
  me.title = 'Hello';
}

一旦完成,仅设置属性title 这不足为奇,但我无法使其正常工作。 我尝试使用async模块没有运气。

添加了一个回调参数以便能够链接。

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);
  });
};

如果Sequence.getSequence是异步的,则在调用它 ,将从回调中设置serialId 由于它是异步的,因此可能 Model.afterInitialize返回之后。 如果必须执行取决于所设置的serialId操作,请从Sequence.getSequence回调serialId其激发。

Model.afterInitialize是我无法更改的第三方API的一部分,因此很遗憾,无法执行此操作 我希望对标志进行某种无限循环检查是可行的,但这种方法不可行,即使确实可行,也将是一个障碍。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM