Правильный способ использования Async / await с httpclient (приложение jira connect) - PullRequest
0 голосов
/ 14 декабря 2018

Я пытаюсь выполнить несколько вызовов API перед рендерингом представления, так как я разрабатываю приложение jira, я использую jira connect для nodejs (это экспресс-проект с некоторыми твиками).

    app.get('/test', addon.authenticate(), async function (req, res) {

    var httpClient = addon.httpClient(req);
    let todo

    await httpClient.get({
        url: '/rest/api/3/search?jql=status="To Do"AND"created">=2018-12-01&maxResults=0'
    }, function(err, res, body) {
        todo = body.total
    });
    console.log('todo:' + todo) //prints "todo: undefined"

    res.render(...)

Основная проблема заключается в том, что я не могу просто выполнить рендеринг внутри функции обратного вызова httpclient, поскольку мне нужно получить некоторые другие данные с помощью других вызовов API перед рендерингом.Я не очень разбираюсь в узлах, но знаю, что для этого можно использовать await, но он не работает для меня.
Кстати, httpClient - это оболочка для клиента запроса узла Документы

...