var myArray = [1, 2, 3, 4, 5, 6]
function myPrommise(num){
return new Promise(res => {
window.setTimeout(()=>{
res( console.log("done: " + num) )
},2000)
})
}
myPrommise(myArray[0])
.then(x => myPrommise(myArray[1]))
.then(x => myPrommise(myArray[2]))
.then(x => myPrommise(myArray[3]))
.then(x => myPrommise(myArray[4]))
.then(x => myPrommise(myArray[5]))
Ngay bây giờ, nếu tôi thực hiện tuyên bố ở trên, nó sẽ chạy tuần tự. Trong trường hợp sử dụng thực tế của tôi, mảng được điền động và tôi cần phải thực hiện chức năng myPromise()
cho mỗi thành viên trong myArray
.Làm thế nào để thực thi các lời hứa tuần tự, chuyển các tham số từ một mảng?
Làm cách nào để tạo "vòng lặp tạm dừng" lặp lại cho từng mục trong mảng, thực hiện myPromise
và chờ lời hứa được giải quyết trước khi tiếp tục lặp lại tiếp theo?
Promise.All là những gì bạn muốn –
@JohnPeters On riêng của mình, đó là chưa đủ, bởi vì nó sẽ không giải quyết tuần tự. – 4castle