У меня есть что-то вроде следующего:Что такое эквивалент обещания ES6 от jQuery Deferred 'always`?
getUser("foo").then(handleSuccess, handleError).always(tidyUp);
getUser
возвращает JQuery Отложенный объект.
Я понимаю, из this article, что я могу преобразовать Отложенный объект в родной Promise с использованием Promise.resolve
, так что я могу написать
Promise.resolve(getUser("foo"))
.then(handleSuccess)
.catch(handleError)
Promise API не предлагает always
метод, хотя, так что мне интересно, как которые должны быть обработаны.
Является ли это следующим?
Promise.resolve(getUser("foo"))
.then(handleSuccess)
.then(tidyUp)
.catch(handleError)
.then(tidyUp)
Да, это будет работать, спасибо. Вы также заставили меня понять, что я также могу просто выполнить 'Promise.resolve (getUser (« foo »)), затем (handleSuccess) .catch (handleError) .then (tidyUp)', т. Е. Сохраняя 'catch'. – user5325596