2

サーバー側には、次のような 2 つのメソッドがあります。

var Future = require("fibers/future");

Meteor.methods({
  foo: function () {
     this.unblock();
     var f = new Future();
     setTimeout(function () {
         f.return(42);
     }, 10000);
     return f.wait();
  },
  bar: function () {
     return 43;
  }
});

これらのメソッドをクライアント側から (ブラウザ コンソールを使用して) 呼び出すと、正常に動作します ( foo10 秒待ってからbarすぐに動作します)。

Meteor.call("foo", function (err, data) {
   console.log(err || data);
   // After 10 seconds: 42
});

Meteor.call("bar", function (err, data) {
   console.log(err || data);
   // Very quick (*instantly*): 43
});

ただし、セッション中に を呼び出すMeteor.logout(fn)と、コールバック ( fn) は完了後に待機しfooます。

私はそれをしたくありません。logoutメソッドが次のように機能することを望みますbar(の終了を待つのではなくfoo、すぐに機能するように)。

どうやってやるの?ブロックを解除 する方法などはありlogoutますか? fooログイン操作は (現在) 同じように機能します。応答が送信されるまで待機します。

4

2 に答える 2