我试图实施以下方案: 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