Javascript Async Loops

Я все еще обнимаю асинхронную природу Javascript. Помогите мне понять это: у меня есть несколько функций, которые нужно запускать для элементов в массиве.

У нас есть вариант 1:

for (f of files){
  do_a(f);
  do_b(f);
  do_c(f);
}

против варианта 2:

for (f of files){
  do_a(f);
}

for (f of files){
  do_b(f);
}

for (f of files){
  do_c(f);
}
  1. Что будет быстрее?
  2. В варианте 1 сработает ли функция do_b, даже если do_a все еще работает?
  3. В варианте 2 сработает ли цикл do_b, даже если цикл do_a все еще работает?

2 ответа

Решение
  1. Это не понятно

  2. Да, функция будет вызвана

  3. Нет, первый цикл завершится до начала второго цикла

  1. Что будет быстрее?

Сложно сказать.

  1. В варианте 1 сработает ли функция do_b, даже если do_a все еще работает?

Хотя Javascript поддерживает асинхронное программирование, представленный здесь код является полностью синхронным, поэтому функции будут работать в том порядке, в котором вы их написали.

  1. В варианте 2 сработает ли цикл do_b, даже если цикл do_a все еще работает?

Нет, по той же причине.

Другие вопросы по тегам