Chạy nhiều promises trong Javascript

Chạy nhiều promises trong Javascript

Nhiều promises có thể được tổ chức theo rất nhiều cách khác nhau. Các promises có thể là các hành động độc
lập như với một app cố gắng dành dữ liệu khác nhau từ các máy chủ khác nhau. Các promises độc lập được quản
lí sử dụng phương thức Promise.all() sau:

Promise.all(array)
.then(function)
.catch(function)

nơi array là một mảng các objects promise. Các promises chạy độc lập lẫn nhau. Trên hoàn thành thành công của
promise treo cuối cùng, phương thức then() sẽ được khởi động. Tuy nhiên, nếu bất cứ promises nào thất bại, phương
thức catch() lập tức được khởi động.
Nhưng bạn cũng có thể có các promises cố gắng hoàn thành cùng nhiệm vụ, như với các promises giành cùng dữ liệu
từ các máy chủ khác nhau. Các promises về cơ bản đua tranh lẫn nhau và nhiệm vụ được hoàn thành với promise được
phân giải đầu tiên. Một cấu trúc promise như vậy được thực thi với phương thức Promise.race() sau:

Promise.race(array)
.then(function)
.catch(function)

nơi array lại một lần nữa là một mảng các objects promise. Trong cấu trúc này, phương thức then() sẽ xử lí hàm được
phân giải liên quan đến promise cái hoàn thành trước tiên và phương thức catch() sẽ xử lí cái bị bác bỏ nếu promise đó
thất bại. Các promises khác bị bỏ qua một khi promise đầu tiên hoặc hoàn thành hoặc thất bại.
Các promises là một đặc tính mạnh mẽ cái được giới thiệu trong ES6, và khái quát này chỉ chạm nhẹ bề mặt của cái có thể
được hoàn thành với các promises và các kết nối không đồng bộ.

Chia sẻ