Не могу сказать за Python, но не уверен, что вы правильно понимаете его механизм await. Сомневаюсь, что он продолжает выполнять текущий исполняемый поток после await, т.к. это нарушит исполение кода.
Про JS могу сказать, что вы видимо не до конца понимаете какой код будет исполнен действительно асинхронно, а какой последовательно (т.е. блокируя основной поток).
const axios = require('axios')
async function doReq1(){
const res = await axios.get('http://localhost:12000?id=1')
return res
}
async function main(){
doReq1().then((data) => {
console.log(data.data)
console.log("After req")
});
console.log("Before req")
}
main()
Данный код выведет 1) Before req 2) Hello 1! 3) After req
Т.е. AfterReq будет исполнен после того как асинхронная операция получит результат, т.е. подождет (await) результата.
Аналогичный код с await
const axios = require('axios')
async function doReq1(){
const res = await axios.get('http://localhost:12000?id=1')
return res
}
async function main(){
console.log("Before req")
let res = await doReq1()
console.log(res.data)
console.log('After req')
}
main()