Не может выразить маршрутизатор ждать обещания, чтобы решить? - PullRequest
0 голосов
/ 14 сентября 2018

Когда я использую следующий код от экспресс-маршрутизатора

var anotherasyncfunction = async() => {
    var value = await settings.get("config"); // this is another async from a module.
    console.log(value);
}
app.get("/api", async(req, res) => {
    await anotherasyncfunction(); // This is another async function
    //more code
});      

Я получаю следующую ошибку.

Ошибка: невозможно установить заголовки после их отправки.

При удалении строки

await anotherasyncfunction(); 

ошибки нет.

Как это исправить?Разве я не могу дождаться обещания, чтобы решить, используя await внутри экспресс-маршрутизатора?

Ответы [ 2 ]

0 голосов
/ 29 сентября 2018

Вас может заинтересовать экспресс-обещание-маршрутизатор, он оборачивает экспресс-маршрутизатор и позволяет использовать async / await.

https://www.npmjs.com/package/express-promise-router

0 голосов
/ 14 сентября 2018

Как я понимаю, вы хотите сначала дождаться результатов от "/ api", а затем запустить anotherasyncfunction ();

Если я правильно понял, попробуйте следующий код

app.get("/api").then(async function (response) {

    console.log(response)
    await anotherasyncfunction();
})
...