У меня есть таблица, которая выглядит как
duration/ms color
10 red
16 yellow
10 red
20 blue
...
Я хочу, чтобы моя фигура отображала цвет, следующий за таблицей цветов продолжительности, и перезапускалась с начала, когда она достигает конца.
Как я могу попросить JS ждать 10 мс?Я попытался
1. записать цикл, проходящий через таблицу, и использовать Date.now () для управления переходом
while (true) {
startingTime = Date.now()
duration = table[index]
while (Date.now() < startingTime + duration) {
continue
}
//changeColor
//updateIndex
}
Слишком много потребления.Blowed мой браузер.
2.setTimeout
var index = 1
var updateColor = function() {
//updateshapecolor(color_table[index])
//updateinex
setTimeout(updateColor, duration_table[index])
}
updateColor()
Работает хорошо для маленького стола, но работает очень медленно в большом столе, и в конечном итоге взорвать стек.
Что будетлучшая практика?Может кто-нибудь любезно предложить?