TwitchTV API를 사용하여 동시에 Meteor를 학습하는 중입니다.Meteor - 매회 서버 측 API 호출 및 mongodb에 삽입
내 목표는 매 순간마다 TwitchAPI를 호출 한 다음 json 개체의 일부를 mongo 데이터베이스에 삽입하는 것입니다. MongoDB가 _id
에 일치하고 Twitch가 _id
을 키로 사용하기 때문에 이후 삽입이 _id
이 아직 존재하지 않으면 기존 레코드를 업데이트하거나 새 레코드를 생성하기를 바랍니다.
통화 및 삽입 (최소한 초기 통화)이 정상적으로 작동하는 것처럼 보입니다. 그러나, 나는 작동하도록 Meteor.setTimeout()
함수를 얻는 것을 보일 수 없다. 이 호출은 앱을 시작할 때 발생하지만 매분마다 계속 발생하지는 않습니다.
여기는 내가 .js
입니다. 내 서버 폴더에있는 파일 :
Meteor.methods({
getStreams: function() {
this.unblock();
var url = 'https://api.twitch.tv/kraken/streams?limit=3';
return Meteor.http.get(url);
},
saveStreams: function() {
Meteor.call('getStreams', function(err, res) {
var data = res.data;
Test.insert(data);
}
}
});
Deps.autorun(function(){
Meteor.setTimeout(function(){Meteor.call('saveStreams');}, 1000);
});
어떤 도움이나 조언을 받으실 수 있습니다.
난 당신이 사용하는 경우에 오히려 Meteor.setTimeout보다 [Meteor.setInterval] (http://docs.meteor.com/#meteor_setinterval)를 사용 할 필요가 있다고 생각합니다. – richsilv
Deps.autorun은 서버 측에서 사용하도록되어 있지 않으므로 대신 Meteor.startup을 사용하십시오. – saimeunt
@ richsilv이게 내 문제를 해결했습니다. 내가 어떻게 그 기능을 놓쳤는 지 잘 모르겠다. 정말 고마워! – tehaaron