[英]Meteor method not running on server
我有以下代碼,
Meteor.methods({
markPaid: function(expense) {
check(this.userId, String);
check(expense.id, String);
Expenses.update({'_id': expense.id}, {$set: {paid: true}}, function(error) {
return error;
});
}
});
被稱為
Meteor.call('markPaid', expense, function(error, result) {
//handle error if any.
});
當我從我的客戶端調用它時,代碼在客戶端執行,正如流星所謂的樂觀 UI 所預期的那樣,但該方法不運行服務器端。 我的實際數據庫永遠不會更新。
謝謝!
根據 Meteor.call 上的 Meteor 文檔(參見https://docs.meteor.com/api/methods.html#Meteor-call )
Meteor.call(name, [arg1, arg2...], [asyncCallback])
論據
arg1, arg2... EJSON-able Object 可選方法參數
參數必須是 JSON。 片刻對象不是 JSON。 這就是為什么像您一樣傳遞 id 有效,但您的完整 JS 對象無效。
該方法是否在observechanges 中被調用? 我有一個類似的問題:
let a = MyCollection.find({something:'something'});
a.observeChanges ({
changed( id, fields) {
console.log('Im here');
Meteor.call ('awesomeMethod',
'param',
(error, ans) => {
handel error; return; }
console.log(ans);
}
);
}
});
同樣的事情也在發生; 只有模擬在運行,但是從控制台調用該方法效果很好,因此我決定將 Meteor 調用更改為其他地方。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.