我試圖實施以下方案: 1.客戶端調用流星方法。 2.在meteor-method內部,我將HTTP-Post發送到不同的服務器。 3.當響應HTTP-Call時,meteor方法應該返回true,如果發生錯誤,它應該返回false。流星包裝同步
這裏是我的流星方法是這樣的:
uploadUserImage: function(data_url,userid) {
asyncfnc =function(data,uid){
HTTP.post("http://localhost:2000/upload", {
data: {
"data_url": data,
"user_id": uid
}
},function(err,res){
console.log(res);
if (err){
console.log("error");
throw new Error(err.message);
}
else{
console.log("return true");
return true;
}
});
};
var waitForResult = Meteor.wrapAsync(asyncfnc);
var result = waitForResult(data_url,userid);
return result;
}
的HTTP呼叫的作品,我也進入HTTP.post功能的回調。 但是在我稱之爲流星法的客戶端,我沒有進入我的回調函數。它看起來像這樣:
Meteor.call("uploadUserImage",data_url,Session.get("newUserID"),function (err, res) {
if(err){
console.log(err);
} else {
console.log('response: ', res);
}
});
我在做什麼錯?爲什麼我的流星法不會返回任何東西? 一切正確與我的Meteor.wrapAsync()?
感謝您的幫助!
你有錯誤嗎? – greedsin