node.js asyn c .series не ждут результатов запроса - PullRequest
0 голосов
/ 12 апреля 2020

Я пытаюсь получить результаты запроса в Splunk.

У меня в search_normal. js эта часть кода, я экспортирую функцию для использования в другом файле.

Когда эта функция завершится, также экспортируйте результаты этого запроса.

exports.main = function(query, callback) {
    // This is just for testing - ignore it

    var username = "1111";
    var password = "2222";
    var scheme   = "https";
    var host     = "splunk.com";
    var port     = "8089";
    var version  = "default";

    var service = new splunkjs.Service({
        username: username,
        password: password,
        scheme: scheme,
        host: host,
        port: port,
        version: version
    });

    Async.chain([
            // First, we log in...
.
.
.
.
.
.
    exports.results;

....

Во втором файле с именем get_values. js, я попытался получить эти значения и затем отправить их bot.

Проблема в том, что когда я пытался сделать функцию asyn c .series и ждать результатов, она, кажется, не работает правильно, и я не знаю, что я делаю неправильно.

Результат, который у меня есть, "1", "2", "Оба выполнены" затем "Готово" .

I w sh to get "Готово", "1", "2", "Оба готово" .

Знаете ли вы, есть ли проблема с модулем asyn c или моим использованием? Спасибо.

var myModule = require('./search_normal');

var async = require('async');

var call_splunk = myModule.main;



async.series
    ([  
        function (callback)
        {
            response=call_splunk(query_splunk, function() {
                console.log('Done')
            });
            console.log("1");

            await context.sendActivity(`Response is ${response}.`); // send result to bot

            callback();
        }
        ,
        function (callback)
        {
            console.log("2");

            callback();
        }
    ]
    ,
    function(err) 
    {
        console.log('Both are done');
        console.log(response);
    });


...