rus_anonym
@rus_anonym
Голодный студент :с

Можно ли сделать функцию, которая вернёт первую выполненную команду?

Добрый вечер (утро?)
Допустим есть несколько функций, можно ли сделать функцию, которая будет вызывать все эти функции, и возвращать значение той функции которая быстрее всех выполнится?

Например:
function firstFunction(number) {
return (number != 1) ? n * firstFunction(number  - 1) : 1;
}

function secondFunction(number) {
let total = 1;
for (i = 0; i < number; i++){
    total = total * (number- i);
}
return total;
}


Можно ли сделать функцию которая будет вызывать обе эти функции, и возвращать полученное значение той функции, которая выполнится быстрее?
  • Вопрос задан
  • 107 просмотров
Решения вопроса 1
sergiks
@sergiks Куратор тега JavaScript
♬♬
приходит фотография от пользователя и скрипт её обрабатывает, есть 2 функции для обработки, и мне надо сделать так, чтобы пользователю отправлялся результат той функции, которая выполнится быстрее, поскольку в некоторых случаях быстрее выполняется 1 функция, а в некоторых вторая


Лучше выявить признаки, чтобы заранее понимать, какой вариант быстрее.

Условно распараллелить выполнение можно в web worker'ах: запускать два, ждать сообщений о готовности, приняв первое сообщение, отдать результат пользователю.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@rPman
В пределах сессии (веб-приложения или одной страницы, если не используются фреймы, хотя для хромиум это вопрос исследования) javascript выполняется в пределах одного процесса, это значит не получится запустить две функции в разных потоках чтобы они выполнялись одновременно... только последовательно.

Попробуйте web-workers, они по уму могут работать в отдельном процессе, т.е. запускаете два воркера в каждому своя функция и ждете кто первый вернет результат.... Но учтите, даже в случае многопоточного исполнения никаких гарантий что повторный вызов даст тот же результат по скорости.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы