Javascript:同步可观察事件

Javascript: Synchronize observable events

本文关键字:观察 事件 同步 Javascript      更新时间:2023-09-26

我使用Ionic2与Meteor。I observe a Cursor,用于添加或更新。

public messages: Mongo.Cursor<Message>;
        this.messages.observe({
          added: (message) => this.addMessageToLocal(message),
          changed: (message) => this.updateMessageToLocal(message)
        });

在我的例子中,added事件在changed事件之前被触发。但是,它们是异步运行的。我希望第一个触发的事件(added)在下一个事件(changed)开始之前完成。

这可能吗?

谢谢

我正在考虑维护一个标志,这表明当一个工作很忙,而另一个必须等待,直到它完成。这样合适吗?

在javascript的异步世界中,你无法控制(尽管你很想)执行的顺序。

有两种方法来处理这个

1)习惯它,并据此编写代码

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