Tôi có một cái gì đó như sau:ES6 Promise tương đương với jQuery Deferred 'luôn luôn` là gì?
getUser("foo").then(handleSuccess, handleError).always(tidyUp);
getUser
trả về một đối tượng thu nhập hoãn lại jQuery.
Tôi hiểu từ this article mà tôi có thể chuyển đổi các đối tượng thu nhập hoãn lại đến một Promise có nguồn gốc sử dụng Promise.resolve
, vì vậy tôi có thể viết
Promise.resolve(getUser("foo"))
.then(handleSuccess)
.catch(handleError)
Các Promise API không cung cấp một phương pháp always
mặc dù, vì vậy tôi tự hỏi như thế nào cần được xử lý.
Có phải như sau không?
Promise.resolve(getUser("foo"))
.then(handleSuccess)
.then(tidyUp)
.catch(handleError)
.then(tidyUp)
Vâng, đó sẽ làm việc nhờ. Bạn cũng làm cho tôi nhận ra rằng tôi cũng có thể chỉ làm 'Promise.resolve (getUser (" foo ")). Sau đó (handleSuccess) .catch (handleError) .then (tidyUp)', tức là giữ 'catch'. – user5325596