私はバックエンドサーバーとしてノードを持つアンドロイド上にユーザー登録システムを実装しようとしています。NodeJS:コールバックは関数ではありません - 電子メールの確認
私はローカルホスト上で、ノード4.4.5を使用して、パッケージ「電子メールの検証」を使用しています - https://www.npmjs.com/package/email-verification
だから、アンドロイドからの要求に応じて、確認用のリンクで確認メールが送信され、作業されています良い。
リンクがクリックされると、GETリクエストが行われ、ユーザーが確認され、MongoDBデータベースに追加され、JSON応答が送信されます。
アカウントが確認されたというメールがユーザーに送信されます。
確認メールを送信した後、サーバーがクラッシュします。
は、ここに私のcode--
router.get('/email-verification/:URL', function(req, res, next){
var url = req.params.URL;
console.log('email-verify-start');
nev.confirmTempUser(url, function(err, user) {
console.log('error is :' + err);
if (user) {
nev.sendConfirmationEmail(user.email, function(err, info) {
if (err) {
console.log('sending_conf_email_failed');
return res.json({'email': 'sending_conf_email_failed'});
}
console.log('user_confirmed');
res.json({
'email': 'user_confirmed'
});
console.log('Done, and confirmed');
});
} else {
console.log('conf_temp_ser_failed');
return res.json({'email': 'conf_temp_ser_failed'});
}
});
});
そして、ここだ私のlog--サーバーがクラッシュしたティル
error is :null
user_confirmed
Done, and confirmed
GET /register/email-verification/SfC9VlnUv91RkFBHDURIbHodnYme0RdfbTYBj0I4oXyywrpW 200 5177.724 ms - 26
h:\myapp\coep_updates\node_modules\email-verification\node_modules\nodemailer\node_modules\nodemailer-smtp-transport\src\smtp-transport.js:136
return callback(null, info);
^
TypeError: callback is not a function
at h:\myapp\coep_updates\node_modules\email-verification\node_modules\nodemailer\node_modules\nodemailer-smtp-transport\src\smtp-transport.js:136:20
at h:\myapp\coep_updates\node_modules\email-verification\node_modules\nodemailer\node_modules\nodemailer-smtp-transport\node_modules\smtp-connection\src\smtp-connection.js:279:20
at SMTPConnection._actionStream (h:\myapp\coep_updates\node_modules\email-verification\node_modules\nodemailer\node_modules\nodemailer-smtp-transport\node_modules\smtp-connection\src\smtp-connection.js:966:16)
at SMTPConnection.<anonymous> (h:\myapp\coep_updates\node_modules\email-verification\node_modules\nodemailer\node_modules\nodemailer-smtp-transport\node_modules\smtp-connection\src\smtp-connection.js:594:14)
at SMTPConnection._processResponse (h:\myapp\coep_updates\node_modules\email-verification\node_modules\nodemailer\node_modules\nodemailer-smtp-transport\node_modules\smtp-connection\src\smtp-connection.js:516:16)
at SMTPConnection._onData (h:\myapp\coep_updates\node_modules\email-verification\node_modules\nodemailer\node_modules\nodemailer-smtp-transport\node_modules\smtp-connection\src\smtp-connection.js:353:10)
at emitOne (events.js:77:13)
at TLSSocket.emit (events.js:169:7)
at readableAddChunk (_stream_readable.js:153:18)
at TLSSocket.Readable.push (_stream_readable.js:111:10)
at TLSWrap.onread (net.js:531:20)
Process finished with exit code 1
、すべての作業罰金です。私はすべての電子メールを受信し、応答は正しく送信されます。私はJSONレスポンス{"email": "user_confirmed"}をブラウザに表示します。唯一の問題は、後でサーバーがクラッシュすることです。
EDIT 1
私はまだ同じ問題をリターンstatements--を追加してみました。私はまた、2
[OK]を
EDIT ...今までreturn--
res.json({
'email': 'user_confirmed'
});
return;
ませ運を添加しない試みたhere--
return res.json({
'email': 'user_confirmed'
});
それらを追加しました。これは実際にはGitHUBのオープンな問題ですが、これはバグとして報告されています。
https://github.com/whitef0x0/node-email-verification/issues/44
私も..同じ問題を抱えていると私はgithubので述べたように問題を解決することができませんでした..あなたは私にファイルを教えてください可能性があり回線番号340を変更する必要がありますか? –
同じ問題@ Parag Vermaは、githubの解決策でも解決することができませんでした。ありがとう – kRAk3N
@ kRAk3N私の答えを参照してください –