使用
var twitPost = Meteor._wrapAsync(twit.post.bind(twit));
function process(screen_name)
{
twitGet('users/show', {'screen_name': screen_name});
}
对进程的同步调用(“screen_name”)工作正常,但
stream.on('tweet', function(tweet)
{
process(tweet.user.screen_name);
});
收益Error: Meteor code must always run within a Fiber. Try wrapping callbacks that you pass to non-Meteor libraries with Meteor.bindEnvironment.
任何想法如何/如果我可以使这项工作?我想通过一些处理函数去做除了调用twitPost之外的其他东西。
答案 0 :(得分:1)
在编写本文时,使用Meteor代码的方法(特别是访问集合的方法)需要使用光纤进行封装。一种方法是使用Meteor.bindEnvironment
:
stream.on('tweet', Meteor.bindEnvironment(function(tweet) {
process(tweet.user.screen_name);
}));