Как вернуть значение из лазурной асинхронной функции v2? - PullRequest
0 голосов
/ 23 января 2019

Я пишу JavaScript впервые.В приложении Azure Function у меня есть одна асинхронная функция для вставки данных с использованием запроса, см. код функции, как показано ниже

async function insertData(query) {

var connection = new Connection(config);
var result = 'Connecting'

await connection.on('connect', function (err) {
    if (err) {
        console.log('Connect: ' + err);
        result = 'Connect: ' + err;
    } else {
        request = new Request(query + "; select @@identity", function (err, rowCount) {
            if (err) {
                console.log('Insert: ' + err);
                result = 'Insert: ' + err;
            } else {
                console.log('Insert complete.');
                result = 'Insert complete';
            }
            connection.close();
        });
        connection.execSql(request);
    }
});
return result;
};

, и я вызываю эту функцию из главной триггерной функции, например,

   var result = insertData(query);  // calling function from here
   context.log('Result ' + result); // Result [object Promise] 

но оно не дает правильное значение result в журнале, оно Result [object Promise], оно должно быть Insert complete, поскольку оно вставлено, успешно записано.Спасибо!

...