Вот упрощенная версия кода, который я пишу для электронного приложения. Мне нужны две функции для запуска, одна за другой. Каждому нужно сделать вызов API, а затем дождаться ответа, прежде чем закончить.
async function build_page()
{
await func_1()
await func_2()
}
async function func_1()
{
console.log("1 Start")
await send().then(
function (response)
{
console.log("1 Middle")
}
)
console.log("1 End")
}
async function func_2()
{
console.log("2 Start")
await send().then(
function (response)
{
console.log("2 Middle")
}
)
console.log("2 End")
}
function send()
{
const request = require("request-promise-native")
return request({
url: "http://localhost:7296/Categories",
method: "POST",
json: true,
body: {"token": localStorage.getItem("token")}
})
}
Я хочу, чтобы консоль выводила «1 Начало, 1 Средний, 1 Конец, 2 Начало, 2 Средний, 2 Конец», но в настоящее время она делает только «2 Начало». Я не уверен, почему func_2 не заканчивается. Когда я закомментирую вызов func_1, func_2 завершится, как и ожидалось, и когда я поменяю местами вызовы func_1 и func_2, func_1 перейдет только в «1 Start».