Ассинхронные функции js

113
02 января 2021, 17:40

Почему "j" выводится,после того как функция qwe отработает? По идее же первая функция берёт обещание от qwe() что та вернёт колбек и род функция должна сразу же вывести j а потом i когда qwe отработает, но работает наоборот?

async function change() { 
 
  qwe(); 
  console.log('j'); 
 
} 
async function qwe() { 
  let i = 10000000; 
  while (i > -2) { 
    i--; 
    if (i == 0) { 
      console.log('i'); 
    } 
  } 
  return true; 
} 
 
change();

Answer 1

код внутри async функции выполняется синхронно до первого await

async function change() { 
 
  qwe(); 
  console.log('j'); 
 
} 
async function qwe() { 
  let i = 10000000; 
  await Promise.resolve(); 
  while (i > -2) { 
    i--; 
    if (i == 0) { 
      console.log('i'); 
    } 
  } 
  return true; 
} 
 
change(); 
console.log('k');

READ ALSO
Есть калькулятор, не могу поправить его на счет месяцев, сейчас он считает дни

Есть калькулятор, не могу поправить его на счет месяцев, сейчас он считает дни

Всем привет, на сайте стоит калькулятор, он считает дни (я кручу бегунок и к текущей дате скрипт прибавляет дни в зависимости от того сколько...

107
SVG loading vue-svg-loader; [Vue warn]: Invalid Component definition

SVG loading vue-svg-loader; [Vue warn]: Invalid Component definition

При попытке использования vue-svg-loader получаю:

132
Не срабатывает функция при событии

Не срабатывает функция при событии

возник момент небольшого непонимания в следующей ситуацииПо какой-то причине в коде (по ссылке) при передаче именованной функции на обработчик...

100