Tôi có một chuỗi các chuỗi trong JavaScript. Mảng được định nghĩa như sau:Mảng JavaScript có chức năng không đồng bộ
var myArray = [];
myArray.push('1');
myArray.push('2');
myArray.push('3');
Tôi cần lặp qua mảng và gọi hàm chạy không đồng bộ. Chức năng đó trông giống như sau:
function myAsyncFunction(id, callback) {
$.ajax({
url: '/api/items',
data: { 'id':id },
type: 'POST',
dataType: 'text',
success: function(result) {
if (callback) {
callback();
}
}, error: function() {
if (callback) {
callback();
}
}
}
Tôi đang cố gắng lặp qua tất cả các mục trong mảng của mình và tìm hiểu xem phải mất bao lâu để chạy tất cả các mục đó. Tôi muốn làm một cái gì đó như thế này:
var startTime = new Date();
for (var i=0; i<myArray.length; i++) {
myAsyncFunction(myArray[i]);
}
var duration = new Date() - startTime;
Rõ ràng, ở trên không hoạt động bởi vì nó không chờ đợi cuộc gọi ajax để kết thúc trước khi chuyển sang mục tiếp theo trong mảng. Tôi biết tôi cần phải sử dụng callbacks. Tuy nhiên, tôi không chắc chắn làm thế nào để cấu trúc mã của tôi theo cách đó. Làm thế nào để tôi làm điều này?
Nếu không có câu trả lời làm việc hoặc bạn đang phải đối mặt với vấn đề này, cho tôi biết để tôi có thể giúp – AmmarCSE