Ну если допустим settimeout не влияет на результат, почему его нельзя использовать? Я спрашиваю не для того, что бы что то сделать, просто пытаюсь понять суть
Отсюда вытекает следующий вопрос - кто сказал что так делать нельзя?
Т.е чистая функция может содержать settimeout?
Если речь о чистой функции (без сайд эффектов) то наверное setTimeout делал что-то такое, что нарушает это правило, раз кто-то сказал что его ненужно/нельзя использовать?
Ну воьмём к примеру функцию: async function idle(ms) { return new Promise(resolve => setTimeout(resolve, ms)); } Она будет чистой? )
Ну она будет делать одно и тоже, каждый раз. Единнственное, что с евент лупом, время выполнения не будет всегда одинаковое. Я это так понимаю)
+ Ну вот в этом и вопрос. Считать ли это чистой функцией или нет. Но это непринципиально на мой взгляд.
Обсуждают сегодня