流星中的客户端异步调用?

时间:2013-06-28 22:12:16

标签: asynchronous meteor client-side

我有一个Meteor客户端异步调用,我似乎无法从中获取返回值。我知道我不能在客户端使用期货,所以我卡住了。

由于Meteor.call()来自客户端,因此它必须是异步的。它看起来像这样:

Meteor.call('DirList', path, function(error, result) { console.log(result); });

console.log()工作正常,但如何将结果返回到周围的函数中?

鲍勃

1 个答案:

答案 0 :(得分:2)

您可以将结果存储在Session变量中,然后在Deps.autorun上下文中使用变量执行逻辑。像:

Meteor.call('DirList', path, function(error, result) { Session.set('result', result); });
Deps.autorun(function (c) {
  var result = Session.get('result');
  if (!result) return;
  c.stop();
  alert(result);
});