[英]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.