Утомительный JS не соединяется внутри экспресс-маршрута - PullRequest
0 голосов
/ 24 октября 2018

Я использую Express и Tedious.js для выполнения запросов к моей базе данных Azure.Функция "getPosicoes ()" работает правильно, когда вызывается за пределами маршрута Express, но не работает, когда внутри.Кажется, висит на "connection.on (" connect ")".

function getPosicoes(){
    console.log("entered function");
    return new Promise(function(resolve, reject){
        connection.on('connect', function(err){
            if (err) {
                log.error('connection error:', err);
                reject(err);
            } else {
                console.log("success")
                request = new Request('SELECT * FROM VIEWPOSICOES ', function(err, rowCount, rows) {  //EXEC dbo.crud_PaisesInsert @Pais = @loginvar, @PaisID = @passvar
                if (err) {  
                    console.log("ERROR REQ: "+err);
                    reject(err);
                }  
                else {
                    console.log('Request created successfully');
                    resolve(rows)
                }
                });  
                request.addParameter('CID', TYPES.Int, 3);

                var result = "";  
                request.on('row', function(columns) {  
                    columns.forEach(function(column) {  
                    if (column.value === null) {  
                        console.log('NULL');  
                    } else {  
                        result+= column.value + " ";  
                    }  
                    });  
                    console.log("getPosicoes: " +result);  
                    result ="";  
                }); 

                    request.on('returnValue', (parameterName, value, metadata) => {
                        log.info(parameterName + ' = ' + value);
                    });
                connection.execSql(request);                 
            }
        });
    });
}

 app.get('/getPositions', function(req, res, next){
    walletID = req.body.walletID;
    console.log("getPositions");

    getPosicoes()
    .then((paramter)=> {
      console.log('gp success');
      res.status(200).json({ message: 'gp success.' });
    })
    .catch((e)=> {
        console.log('gp Failed', e);  //<== I thought this log be written.  But not.
      res.status(400).json({ message: 'gp failed.' });
    });
 });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...