流星群のエラーを管理する際に問題があります。このようなことについて調べて、同期機能に関するいくつかのトピックを見つけましたが、問題を管理できます。私のクライアント側ではメソッドを呼び出すため、前に結果を出す必要があります。 私のクライアント側:流星での同期に関する問題
onSubmit: function(doc){ // Gestion du formulaire d'inscription
var error = null;
var title = doc.title;
var content = doc.content;
var formData = {
title: title,
content: content
};
//get the captcha data
var captchaData = grecaptcha.getResponse();
Meteor.call('createCPDM', formData, captchaData, function(err){
if(err){
error = new Error("Une erreur s'est produite");
}
});
if(error === null){
this.done(); // Appelle onSuccess
}
else{
this.done(error); // Appelle onError
}
// reset the captcha
grecaptcha.reset();
return false;
},
私のサーバー側:
createCPDM: function(formData, captchaData) {
var ip = "0.0.0.0";
var verifyCaptchaResponse;
if (!this.connection.clientAddress) {
verifyCaptchaResponse = reCAPTCHA.verifyCaptcha(ip, captchaData);
}
else {
verifyCaptchaResponse = reCAPTCHA.verifyCaptcha(this.connection.clientAddress, captchaData);
}
if (!verifyCaptchaResponse.success) {
throw new Meteor.Error('422', 'reCAPTCHA Failed: ' + verifyCaptchaResponse.error);
}
else {
var CPDMID = CPDM.insert(formData);
}
return true;
}
は、だから私はあなたの助けのために
感謝の...私はエラーを持っている場合、前続ける知っている必要があります!
Javascriptを私は実際にコールバック – Endless
@Endless内部 'Meteor.call'後にすべてをかけるほとんど**非同期**言語であります'this.done()'にアクセスする必要があるのでできません –
'function(err){}'を 'err => {}'に変更してから 'this.done'にアクセスしてください – Endless