Проходя через определение чистых функций, он обычно определяется двумя трейтами:
1) Должен выдавать одинаковый результат при одном и том же входе
2) Не должно вызывать побочных эффектов.
Означает ли это также, что чистая функция не должна быть асинхронной? Если нет, то как? Если да, я хотел бы увидеть несколько примеров чистой асинхронной функции в JavaScript.
new Promise(() => {}) !== new Promise(() => {})
нарушает черту 1? За исключением того, что это не один и тот же объект, промисы ведут себя одинаково. - person Patrick Roberts   schedule 06.10.2018