Javascript:同步可观察事件

时间:2016-10-25 08:49:25

标签: javascript meteor typescript synchronization ionic2

我正在使用Ionic2和Meteor。我observe一个Cursor,用于添加或更新。

public messages: Mongo.Cursor<Message>;

        this.messages.observe({
          added: (message) => this.addMessageToLocal(message),
          changed: (message) => this.updateMessageToLocal(message)
        });

就我而言,added事件会在changed事件之前触发。但是,它们以异步方式运行。我希望在下一个事件(added)开始之前首先触发的事件(changed)完成。

这可能吗?

谢谢

更新

我正在考虑维护一个标志,表示当一个工作忙时,另一个必须等​​到它完成。这是可取的吗?

1 个答案:

答案 0 :(得分:1)

在javascript的异步世界中,你无法控制(就像你想要的那样)执行的顺序。

有两种方法可以解决这个问题

1)习惯它,并相应地编写代码

2)做第一件事,然后在第一件事的回调响应中开始第二件事(虽然在这种情况下我认为你不能)