簡體   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