基本的に、クライアントはMeteor.call
を使用してサーバーを呼び出します。サーバーメソッドはいくつかのバリデーションを行い、流星パッケージを使ってWebサービスを呼び出します。検証が失敗し、流星のエラーがスローされると、サーバーに到達します。パッケージの応答にエラーがある場合は、サーバーにのみ記録されます。クライアントに連絡するにはエラーが必要です。Throwing Meteor.Errorがクライアントに届かない
コードの外観は次のとおりです。サーバーの方法で
クライアント
Meteor.call('callService', (err, result) => {
if(err) {
console.log(err.reason);
}
});
サーバー
Meteor.methods({
'callService'(){
if (!Meteor.user()) {
// Error 1
throw new Meteor.Error('insufficient-permissions', 'You need to login first');
}
// Using an meteor package to actually call the service
package.callService(apiKey, (err, response) => {
if (response.status === 'error') {
// Error 2
throw new Meteor.Error('service-error', response.message);
}
});
},
});
エラーがエラー1でスローされた場合、それはクライアントに到達しますが、エラー2はありません。 エラー2はサーバーにのみログオンします。
これは全く同じです。申し訳ありませんが、私はこれを受け入れられたと完全に忘れていました – nupac