Есть ли способ запустить мою функцию в течение 5 секунд в Javascript
?Javascript + Запуск функции в течение X секунд
Например, если у меня есть Function A
и Function B
. Я хочу запустить Function A
в течение 5 секунд, сразу после этого он запустится Function B
.
- IF
Function A
занимает всего 1 секунду, чтобы завершить процесс, тогда ему нужно подождать еще 4 секунды. - Но если
Function A
занимает 3 секунды до конца, то ему потребуется еще 2 секунд, чтобы ждать, перед обработкойFunction B
- IF
Function A
занимает более 5 секунд, то B не нужно ждать, пока не закончит свою работу, пока он может начать свою работу. (Изм)
Сейчас им с помощью сна функции, которые я нашел, не давно
function wait(ms){
var start = new Date().getTime();
var end = start;
while(end < start + ms) {
end = new Date().getTime();
}
}
wait(5000);
Но с этим кодом, то нужно будет ждать в течение 5 секунд, независимо от того, сколько времени Function A
потребности чтобы закончить процесс.
EDIT
Function A
делает AJAX POST
вызов. что заставляет занять много времени, чтобы закончить работу.
Этот вопрос отличается от What is the JavaScript version of sleep()?, потому что:
- это будет использоваться в IE, который не поддерживает обещание (как я читал)
- Если я использую SetTimeout и А занимает больше времени, чем 5 секунд, затем B сначала запустит его, не дожидаясь окончания A.
Вы хотите сказать, что функция a занимает 7 секунд? – Roberrrt
Является ли FunctionA выполнением асинхронной работы? Или это занимает 1 секунду по другим причинам? – casraf
setTimeout, setInterval, $ evalAsync, $ applyAsync, веб-работники могут выполнять работу – zxxc