<script>
function task1(v) {
return new Promise(function(resolve, reject) {
resolve(v);
});
}
function task2(v) {
return new Promise(function(resolve, reject) {
resolve('new ' + v);
});
}
async function process(v) {
console.log(await task1(v));
console.log(await task2(v));
}
var data = [1, 2, 3];
(async function() {
for (let i = 0; i < data.length; i++) {
setTimeout(async function(){
await process(data[i]);
}, 2000 * i);
}
})();
hiện tại e đang có dữ liệu là 1 mảng, cần lặp qua và xử lí 2 task vs từng item trong mảng đó, chờ 2s mỗi item xử lí xong 2 task rồi mới sang item tiếp theo. e viết như trên và chạy đúng như ý e. có cách viết nào khác mà tối ưu hơn k ạ