1

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

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

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

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

鲍勃

4

1 回答 1

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);
});
于 2013-06-28T22:31:14.763 回答