我正在使用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
)完成。
这可能吗?
谢谢
更新
我正在考虑维护一个标志,表示当一个工作忙时,另一个必须等到它完成。这是可取的吗?
答案 0 :(得分:1)
在javascript的异步世界中,你无法控制(就像你想要的那样)执行的顺序。
有两种方法可以解决这个问题
1)习惯它,并相应地编写代码
2)做第一件事,然后在第一件事的回调响应中开始第二件事(虽然在这种情况下我认为你不能)