Ради интереса, я написал эту маленькую вспомогательную функцию, чтобы сделать цикл немного более читабельным. Он в основном оборачивает цикл while и принимает в качестве аргумента обратный вызов. Теперь я задаюсь вопросом, как выйти из цикла while из функции обратного вызова. Простой возврат из-за обратного вызова не будет работать, и я не могу вызвать прерывание из-за обратного вызова.
const loopFor = (time) => {
return {
milliseconds: (callback) => {
const start = Date.now()
while (Date.now() - start < time) {
callback()
}
}
}
}
loopFor(100).milliseconds(() => {
console.log("Weeeeeeee, I'm looping")
})
console.log("Done looping")