Как обрабатывать время ожидания (- ms-- сообщение) в nodejs - PullRequest
0 голосов
/ 23 февраля 2019

На этой фотографии показано сообщение --ms--.И на стороне клиента я получаю timeout ошибку.

enter image description here

Я пытаюсь выяснить, где это происходит и почему, используя try-catch и console.log но я не могу их найти.

Это 'route / email.js'

var express = require('express');
var router = express.Router();
var db = require('../db');
var nodemailer = require("nodemailer");
var smtpTransport = nodemailer.createTransport({
  service: 'Gmail',
  auth: {
    user: 'ssssss@gmail.com',
    pass: 'SSSSSS'
  }
});

router.get('/send', function(req, res, next) {
        console.log('/send');
  var email = decodeURI(req.query.to);
        console.log(email);
  var rand = Math.floor((Math.random() * 9000 + 1000));
  var link="http://"+req.get("host")+"/email/verify?email="+email+"&num="+rand;
  var mailOptions={
                to : email,
    subject : "Please confirm your Email account",
    html : "Hello,<br> Please Click on the link to verify your email.<br><a href="+link+">Click here to verify</a>"
  }

        try{
        smtpTransport.sendMail(mailOptions, function(error, response){
        if(error){
        console.log(error);
        res.json({result:false,message:"Incorrect email", code:404});
        }else{
                console.log("Message sent:\n"+JSON.stringify(response, null, 2));
                                try{
                                        console.log(JSON.stringify(db, null, 2));
                                                                                var sql = "INSERT INTO email_verification(email, code) VALUES(?,?)";
                                        var input = [email, rand];

                                        db.get().query(sql, input, function(err, result){
                                                if(err) res.json({result:false, message:"SQL error", code:403});
                                                res.json({result:true, message:"Please check your email.", code:100});
                                        });

//                                      res.json({result:false, message:"DB ERROR", code:401});
                                }catch(e){
                                        console.log(e);
                                }
        }
        });
        }catch(e){
                console.log(e);
        }
});

module.exports = router;

db.get().query() часть не выполняется вообще.

Это db.js.

const mariadb = require('mariadb');

var pool;

exports.connect = function(done){
        console.log("Trying to connect DB...");
        pool = mariadb.createPool({
                host: 'localhost',
                user: 'root',
                password: 'ssss',
                database:"SSSS",
                connectionLimit: 100
        });
}

exports.get = function(){
        console.log("exports.get");
        return pool;
}

console.log("exports.get"); детали работают нормально.

Это app.js:

var createError = require('http-errors');
var express = require('express');
var path = require('path');
var cookieParser = require('cookie-parser');
var bodyParser = require('body-parser');
var logger = require('morgan');
var db = require('./db');

//var passport = require('./passport');
//var auth = require('./routes/auth');

var app = express();

// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'ejs');

db.connect(function(err){
        console.log(err);
        if(err){
                console.log('Unable to connect to MariaDB.');
                process.exit(1);
        }
});

app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));

app.use('/', require("./routes/index"));
app.use('/email', require("./routes/email"));

// catch 404 and forward to error handler
app.use(function(req, res, next) {
        var err = new Error('Not Found');
        err.status = 404;
  next(404);
});

// error handler
app.use(function(err, req, res, next) {
  // set locals, only providing error in development
  res.locals.message = err.message;
  res.locals.error = req.app.get('env') === 'development' ? err : {};

  // render the error page
  res.status(err.status || 500);
  res.render('error');
});

module.exports = app;

Я только что использовал это db.js и app.js файл из моего другого проекта, и он работал там нормально.Но я не знаю, почему на этот раз у меня возникла эта проблема.

Какая часть и почему у меня возникла эта проблема и как я могу ее исправить?

  • Было бы прощеработать с node.js, если я могу легко отслеживать ошибку.Выяснение проблемной части занимает много времени.Есть какой-нибудь модуль или инструмент для этого?
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...