0
誰かが、このメソッド呼び出しがmeteor.js v1.3で実行中に私の端末にconsole.logsを出力しない理由を教えてもらえますか?このメソッドは、私がvalidatedメソッドを使用していなかったときに、別の流星プロジェクトでうまく動作し、Emails.insert関数が機能しますが、HTTP.post関数を追加すると失敗しますが、 console.log(error)
とMeteor.throw(error)
は、私のサーバー端末に何も表示されません。ありがとう!流星のサーバー側のエラーを表示する方法
import { Emails } from './emails';
import { SimpleSchema } from 'meteor/aldeed:simple-schema';
import { ValidatedMethod } from 'meteor/mdg:validated-method';
import { HTTP } from 'meteor/http';
export const insertEmail = new ValidatedMethod({
name: 'emails.insert',
validate: new SimpleSchema({
email: { type: String }
}).validator(),
run(email) {
let isPresent = Emails.find({email: email.email}).fetch();
if(isPresent < 1){
Emails.insert({email: email.email, ip: '1'});
HTTP.post('https://api.sendgrid.com/v3/contactdb/recipients', {
headers: {
Authorization: "Bearer "+Meteor.settings.private.sendGridMarketingKey,
'Content-Type': 'application/json'
},
content: '[{\"email\": \"'+email+'\"}]'
},function(error, response) {
if (error) {
throw new Meteor.Error(500, error);
console.log(error);
} else {
throw new Meteor.Error(500, response);
console.log(response);
}
});
} else {
throw new Meteor.Error(500, 'This Email is Already Added!')
}
},
});