С помощью when.js как преобразовать обещание в обратный вызов в стиле Node.js?
Я использую IcedCoffeeScript.
Я хочу написать это:
User.find(id).always esc done
или же await User.find(id).always defer e, user
Но Promise#always
устарела в when.js
,
Есть ли другой способ?
1 ответ
Promise#always
устарела в when.js
и будет удален в следующей версии.
Тем не мение, promise.always(onFulfilledOrRejected, onProgress)
это всего лишь ярлык для .then(onFulfilledOrRejected, onFulfilledOrRejected, onProgress)
, Так что вместо использования
.always(handler)
Вам придется использовать
.then(handler, handler)
Если может повлиять на ваш код, если вы использовали встроенные функции для .always
как с .then
было бы лучше извлечь их как отдельные функции.
Авторы when.js
рекомендую использовать promise.ensure
вместо promise.always
, Подробнее здесь.
promise.ensure
безопаснее в том, что он не может превратить неудачу в успех случайно (чтоalways
может сделать, просто вернувшись успешно!).
Я надеюсь, что это поможет.