我想知道爲什麼我調用流星服務器方法時出現錯誤。它在服務器端工作,但它在瀏覽器中拋出錯誤。流星呼叫和延遲補償
這是我的服務器代碼/server/methods.js文件:
Meteor.methods({
getTicketSettings: function(){
var getTicketConfig = function(callback){
Assets.getText('ticketCustomizing.json', function(error, res){
if (error)
throw new Meteor.Error({error:'ticket-getCustomizing', reason:'No se pudo recuperar la configuración.'});
else callback && callback(null, JSON.parse(res));
});
}
var syncAssetRetrieve = Meteor.wrapAsync(getTicketConfig);
var result = syncAssetRetrieve();
return result;
},
});
這是我的客戶機/服務器代碼/lib/initialization.js文件:
App.config.tickets.tipos = new Mongo.Collection('tipos');
Meteor.startup(function(){
moment.locale('es');
var ticketSettingsObj = Meteor.call('getTicketSettings');
console.log(ticketSettingsObj);
_.map(ticketSettingsObj.tipos, function(tipo){
App.config.tickets.tipos.insert(tipo);
});
});
當我運行我的應用程序時,我在控制檯中記錄了JSON對象,但瀏覽器顯示此錯誤:未捕獲的TypeError:無法讀取未定義的屬性'tipos'在我/lib/initialization.js這裏:
_.map(ticketSettingsObj.tipos, function(tipo){
App.config.tickets.tipos.insert(tipo);
});
顯然我誤解的東西,但仍然不知道...
感謝您指出了這一點,我沒有閱讀不夠仔細:「在客戶端,如果你不及格一個回調,你不在一個存根內,調用將返回undefined,你將無法獲得方法的返回值,這是因爲客戶端沒有光纖,所以實際上沒有辦法阻止方法的遠程執行「。 – Rubs