Взгляните на этот образец, это просто фантастика!
async function b () { return new Promise(res => setTimeout(res.bind(null, 0), 1500)) } async function a () { if (await b()) { console.log(1); } else { console.log(false); } } a(); // false
Попробуйте изменить 0
на другое истинное значение, и вы увидите, что код внутри a
работает именно так, как он написан, и так, как вы могли ожидать.
Фантастика!