1
我想運行一個簡單的腳本,將使用X射線刮一些數據,並將其插入到我的Events集合中。從流星服務器插入分貝服務器不工作
if (Meteor.isServer) {
var Xray = Meteor.npmRequire('x-ray');
var xray = new Xray({
version: "2.0.3"
});
xray('http://www.events12.com/seattle/january/', '.qq', [{
title: '.title',
date: '.date',
link: 'a @href',
allContent: '@html'
}])(function(err, content) {
for (var i = 0; i < content.length; i++) {
(function() {
console.log(i);
var newEvent = {
owner: 'me',
name: content[i].title,
date: content[i].date,
url: content[i].link,
createdAt: new Date(),
description: 'none'
};
console.log(newEvent);
Events.insert(newEvent, function(err, data) {
console.log(err);
console.log(data);
});
})();
}
});
}
從x射線,取入內容回調具有所有對象的數組刮下數據,每個具有若干性質。當我嘗試將這些數據插入到我的Events集合中時,for循環會迭代一次然後退出,但不會顯示錯誤。如果我刪除了Events.insert()
,循環就會一直循環。
我錯過了什麼?執行這樣的任務的正確方法是什麼?
我希望在服務器控制檯中看到「Meteor代碼必須在光纖中,嘗試使用Meteor.bindEnvironment」的錯誤。 – user3374348
你的事件模式是什麼樣的?我的猜測是匿名函數在插入調用中隱藏了一個異常。 –
我打算試着重現這個問題,但是爲了避免添加軟件包,所以我只是提供了內容=假數據。它工作得很好。 X射線回調是否非阻塞?在所有數據可用之前嘗試插入可能存在問題? – terrafirma9