【发布时间】:2015-06-01 20:41:19
【问题描述】:
我通过使用 fiber/future 解决了 Graph Api 异步请求,它允许在预定义的时间后给出函数结果,这个解决方案的缺点是当 facebook 发送响应的速度超过 1000 毫秒时,它无论如何都会等待。
有没有办法让服务器端函数在响应到来后立即返回图形 api 结果?我发现 Meteor.wrapAsync 可能会有所帮助,但我不确定我的语法是否正确。
这是我使用光纤所做的,它的工作时间正好是一秒钟。
function graphGet(query){
var response = new Future(); // wait for async FB response
var waitingTime = 1000;
var graphResponse = "no result after: " + waitingTime + "ms";
FBGraph.get(query, function(error, response) {
if (response) { graphResponse = response; }
else { graphResponse = error; }
});
setTimeout(function() {
response['return'](graphResponse);
}, waitingTime);
return response.wait();
}
【问题讨论】:
标签: facebook-graph-api asynchronous meteor