我正在學習流星,同時嘗試使用TwitchTV API。流星 - 服務器端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.setInterval](http://docs.meteor.com/#meteor_setinterval)而不是Meteor.setTimeout這個用例。 – richsilv 2014-09-26 04:22:16
Deps.autorun不應該用於服務器端,而應該使用Meteor.startup。 – saimeunt 2014-09-26 09:12:54
@richsilv這解決了我的問題。不知道我錯過了這個功能。非常感謝! – tehaaron 2014-09-27 03:16:55