node.js функция ожидания end - PullRequest
0 голосов
/ 01 июля 2019

Я новичок в node.js.У меня есть вопрос, как мне продолжить после того, как другие .js ждет, пока функция вызова завершит возвращаемое значение?

Ниже приведен пример:

function test() {

    var queryString = "select * from Product where PEnable = 'true' and PType = '1'"
    const pool = new sql.ConnectionPool(config);
    var conn = pool;
    let jim = '';
    return conn.connect().then(function () {
        var req = new sql.Request(conn);

       return req.query(queryString).then(function (result) {

           return result['recordset'][0]['Name'];

            conn.close();

            console.log('result >' , result['recordset'][0]['Name']);

        }).catch(function (err) {
            console.log('Unable to add result >', err);
            conn.close();
        });

    }).catch(function (err) {
        console.log('Unable to connect to SQL >', err);
    });
    return jim;
}

1 Ответ

0 голосов
/ 01 июля 2019

Вы можете использовать async / await. async : заставить функцию возвращать обещание. await : заставить JavaScript ждать, пока этот Promise установится, а затем вернуть свой результат

Например, ваш код может быть переписан как

async function test() {

    var queryString = "select * from activities"
    const pool = new sql.ConnectionPool(config).connect();
    var conn = await pool

    const req =  conn.request();
    const result = await req.query(queryString)
    var returnValue = result['recordset'][0]['Name']
    pool.close()

    return returnValue

}

Тогда вы можете позвонить с ключевым словом await

var yourvalue = await test()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...