在Meteor.js中,存根的数据库写入总是在存根完成后立即完成?

时间:2015-12-10 19:49:22

标签: javascript meteor callback

在Meteor中调用客户端和服务器端的方法时,会运行模拟Brine。我假设存根将在调用方法的同一行上同步运行,并将向模拟的minimongo数据库发出写入。

现在我的问题是:在调用方法之后,我可以依赖存根的db写入在客户端minorongo db中立即可用吗?更准确地说,“马上”我的意思是:

  1. 在方法调用之后,客户端db是否会在下一个代码行上(由存根)更新?
  2. 如果我在延迟函数运行时在下一个代码行发出Meteor.defer,是否会更新客户端数据库(由存根)?

1 个答案:

答案 0 :(得分:1)

写入minimongo是同步的,所以答案是“是”,假设您的方法存根只包含同步操作。我们来看这个例子:

Meteor.methods({
  gotime: function() {
    Posts.insert({text: 'hello'});
  }
});

现在,客户端上的其他地方:

// call the stub method (note there is no callback passed)
Meteor.call('gotime');
// the new document will be available here
post = Posts.findOne();
相关问题