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 сработает ли функция do_b, даже если do_a все еще работает?
- В варианте 2 сработает ли цикл do_b, даже если цикл do_a все еще работает?
2 ответа
Решение
Это не понятно
Да, функция будет вызвана
Нет, первый цикл завершится до начала второго цикла
- Что будет быстрее?
Сложно сказать.
- В варианте 1 сработает ли функция do_b, даже если do_a все еще работает?
Хотя Javascript поддерживает асинхронное программирование, представленный здесь код является полностью синхронным, поэтому функции будут работать в том порядке, в котором вы их написали.
- В варианте 2 сработает ли цикл do_b, даже если цикл do_a все еще работает?
Нет, по той же причине.