我有一个Meteor客户端异步调用,我似乎无法从中获取返回值。我知道我不能在客户端使用期货,所以我卡住了。
由于Meteor.call()来自客户端,因此它必须是异步的。它看起来像这样:
Meteor.call('DirList', path, function(error, result) {
console.log(result);
});
console.log()工作正常,但如何将结果返回到周围的函数中?
鲍勃
答案 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);
});