유토피아 클라우드 서버에 앱을 배포 할 때 계속이 오류가 발생했습니다.유성 서버에 배포 할 때 항상 유성 코드가 광섬유 내에서 실행되어야합니다.
항상 _.extend.get에서 섬유 내에서 실행해야합니다유성 코드 (응용 프로그램/패키지/유성/dynamics_nodejs.js : 14 : 13) 에서 _.extend.apply (응용 프로그램/패키지/livedata/(app/packages/server.js : livedata_server.js : 1268 : 57) at _.extend.call (app/packages/livedata/livedata_server.js : 1229 : 17) at Meteor.startup.Meteor.methods.streamTwit 50:24)
하지만, 난 이미 섬유 내에서 포장 한
streamTwit: function (twit){
var userid = '1527228696';
twit.stream(
'statuses/filter',
{ follow: userid},
function(stream) {
stream.on('data', function(tweet) {
Fiber(function(){
if(tweet.user.id_str === userid)
{
Meteor.call('addQn', tweet);
}
}).run();
console.log(tweet);
console.log('---------------------------------------------------------');
console.log(tweet.user.screen_name);
console.log(tweet.user.name);
console.log(tweet.text);
});
}
);
}
이유가 무엇인지 모르겠지만 누군가 Meteor.bindEnvironment 대신 포장해야한다고 제안했습니다.
이streamTwit: function (twit){
this.unblock(); // this doesn't seem to work
console.log('... ... trackTweets');
var _this = this;
var userid = '1527228696';
twit.stream(
'statuses/filter',
{ follow: userid},
function(stream) {
stream.on('data', function(tweet) {
Meteor.bindEnvironment(function() {
if(tweet.user.id_str === userid)
{
Meteor.call('addQn', tweet);
}
}, function(e) {
Meteor._debug("Exception from connection close callback:", e);
});
console.log(tweet);
console.log('---------------------------------------------------------');
console.log(tweet.user.screen_name);
console.log(tweet.user.name);
console.log(tweet.text);
});
}
);
}
// 질문 방법
addQn:function(tweet){
questionDB.insert({'tweet': tweet, 'date': new Date()});
}
를 추가하지만 지금은 그것도 작동하지 않습니다 따라서,이했다. 나는 이것이 mongodb에 어떤 데이터를 삽입하려했을 때만 일어난다는 것을 알고 있습니다. 코드에 어떤 문제가 있는지 알 수 있습니까? 감사! 이 코드는 모두 app/server/server.js에 작성되었습니다.
안녕하세요, 인라인 경우. 그것은 Meteor 코드가 Fiber 내에서 실행되어야 함을 나타냅니다. –
'Meteor.bindEnvironment'는 Fiber에 넣습니다 ... –