无法使异步javascript正常工作
我正在使用node.js、RailwayJS和JugglingDB 我有一个模型:无法使异步javascript正常工作,javascript,node.js,railway.js,Javascript,Node.js,Railway.js,我正在使用node.js、RailwayJS和JugglingDB 我有一个模型: Model.afterInitialize = function() { var me = this; Sequence.getSequence('forModel', function(sequence) { me.serialId = sequence; }); me.title = 'Hello'; } 完成所有操作后,仅设置属性title。这并不奇怪,但我无法让它工作。我尝试使用
Model.afterInitialize = function() {
var me = this;
Sequence.getSequence('forModel', function(sequence) {
me.serialId = sequence;
});
me.title = 'Hello';
}
完成所有操作后,仅设置属性
title
。这并不奇怪,但我无法让它工作。我尝试使用async
模块,但运气不佳。如果Sequence.getSequence
是异步的,则调用serialId
时将从回调中设置。因为它是异步的,所以可能是在Model.afterInitialize
返回之后。如果您必须执行依赖于所设置的serialId
的操作,请从Sequence.getSequence
回调中启动它们。如果Sequence.getSequence
是异步的,则调用时将从回调中设置serialId
。因为它是异步的,所以可能是在Model.afterInitialize
返回之后。如果您必须执行依赖于所设置的serialId
的操作,请从Sequence.getSequence
回调触发这些操作。添加了一个回调参数,以便能够链接
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);
});
};
添加了一个回调参数,以便能够链接
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);
});
};
Model.afterInitialize
是我无法更改的第三方API的一部分,因此不幸的是,没有办法做到这一点。我希望某种形式的无限循环检查标志会起作用,但事实并非如此,即使它真的起作用,也会是一种预兆
我最终连接到另一个方法Model.beforeSave=function(callback){}代码>,需要回调
仅供参考,我使用的是模型。初始化后
是第三方API的一部分,我无法更改,因此不幸的是,无法执行此操作。我希望某种形式的无限循环检查标志会起作用,但事实并非如此,即使它真的起作用,也会是一种预兆
我最终连接到另一个方法Model.beforeSave=function(callback){}代码>,需要回调
仅供参考,我正在使用