Meteor.call中的Async回調不會等待Meteor.method的結果。這是代碼。Meteor.call不會等待結果
Meteor.call("fetchData",function (err,res) {
if (err){
console.log("error ", err);
}else {
console.log("success ", res);
return res;
}
});//calling this from onRendered of client/somejs.js
這裏是方法
fetchData :function(){
HTTP.call("POST","http://localhost:8080",{
data:'{"apple":"grape"}'
},function (err,res) {
if (err){
console.log("error ", err);
}else {
console.log("success ", res);
return res;
}
})
}//Server/methods.js
當Meteor.call被觸發時,我得到的服務器上的日誌作爲success
與它的結果。 在客戶端我得到success undefined
。 客戶端的調用不會等待結果。我也嘗試在服務器上執行Fibers和Synchronous。它不適用於我。在這種情況下,發佈被阻止(我猜是由於API調用)。
另一件事是,我試圖用DB查詢而不是API調用相同。這工作正常。我從方法得到的結果。
我在哪裏出錯了。幫助。
謝謝
但爲什麼在數據庫查詢的情況下做同樣的工作?我有一個方法,檢查用戶名是否已經存在。這工作正常,我收到客戶端的Meteor.call.Btw結果將檢查出鏈接。我對JS很新穎。 –