#promise

Двойной API для асинхронных функций

Когда пишешь публичные асинхронные методы на JavaScript, желательно придерживаться двух простых правил:

  1. Если метод может вернуть ошибку в колбэке, то ошибка должна идти первым аргументом. Часто, даже если метод никогда не возвращает ошибку, первым аргументом передают null для того, чтобы унифицировать все асинхронные вызовы;
  2. Если в метод не передана колбэк-функция, то метод должен вернуть Promise.

Читать целиком