[PROMISE] Promise.all()
https://developer.mozilla.org/vi/docs/Web/JavaScript/Reference/Global_Objects/Promise/all
Phương thức Promise.all(iterable)
trả ra một Promise mới và promise mới này chỉ được kết thúc khi tất cả các promise trong iterable
kết thúc hoặc có một promise nào đó xử lý thất bại. Kết quả của promise mới này là một mảng chứa kết quả của tất cả các promise theo đúng thứ tự hoặc kết quả lỗi của promise gây lỗi.
Cú pháp
Tham số
iterableMột đối tượng có thể duyệt lặp. Ví dụ như một mảng Array
. Để hiểu thêm về đối tượng có thể duyệt lặp, bạn có thể xem tại đây iterable.
Đầu ra
Kết quả trả ra là một Promise
. Promise này chỉ được kết thúc khi mà tất cả các promise trong interable truyền vào được kết thúc hoặc một promise nào đó thất bại.
Mô tả
Promise.all sẽ lưu kết quả trả ra của tất cả các promise bằng một mảng theo đúng thứ tự của các promise đầu vào. Bạn lưu ý là thứ tự của các promise đầu vào chứ không phải là thứ tự kết thúc cả các promise. Ngoài ra, với các phần tử đầu vào không phải là một Promise, thì nó sẽ được coi là một giá trị trả ra và được trả với phương thức Promise.resolve
. Tức là nó được đóng gói với 1 promise mới chứa kết quả là chính nó.
Nếu một promise nào đó bị lỗi, thì Promise.all sẽ bị kết thúc với mã lỗi của promise lỗi đó ngay lập tức. Trong trường hợp này, tất cả các promise khác dù đã kết thúc hay chưa thì đều không được quan tâm nữa.
Ví dụ
Sử dụng Promise.all
Promise.all
Promise.all
đợi tất cả các promise kết thúc, hoặc một promise nào đó thât bại.
Promise.all
kết thúc ngay khi có lỗi
Promise.all
kết thúc ngay khi có lỗiPromise.all
sẽ bị kết thúc lỗi ngay khi có một promise nào đó bị lỗi.
Last updated