メテオコールバックで本当に苦労しています。私は、サーバー側のメソッドにクライアント側の呼び出しがありますが、コールバックがサーバーから戻ってくるとき、私は未定義の結果を取得します。私が知る限り、これはサーバーがPOSTを完了していないのに既にコールバックを送信しているためです。私は流星に新しいです、そして、これは本当に難しいようです。私がこれまで持っているもの:メテオールメソッド呼び出し - メソッドの完了を待ちます
クライアント:
Meteor.call("createCustomer", city, fname, lname, email, function(error, result) {
if (error) {
console.log("error: " + error);
} else {
console.log("result: " + result)
}
});
サーバー:
Meteor.methods({
'createCustomer': function(city, fname, lname, email) {
HTTP.call("POST", url+'/customer?api_key='+process.env.API_TOKEN ,{
data: {
city: city,
first_name: fnam,
last_name: lname,
email: email
}
}, function (error, result) {
if (error) {
return 'error';
} else {
return'success';
}
});
}
});
私は本当に愚かな何かをやっているかもしれない、または私が予想していた以上に複雑かもしれませんが、任意のヘルプ長い道のりを行くだろう!
ありがとう、非同期でそれをワープする必要は実際にはありません@PsydeStep魅力 – PsydeStep
のように動作します。 'asyncCallback'を渡さないと、' HTTP.call'が同期して実行されます。 ['asyncCallback'の説明を読んでください。](https://docs.meteor.com/api/http.html#HTTP-call) –
@RamilMuratov洞察力に感謝します。これはWaiskiのやり方がうまく機能していると考えて、これを行う正しい方法です。 – PsydeStep