for (var i = 0; i < length; i++) { if (i in array) { var element = array[i]; callback(element, i, array); } }
for…of保证执行顺序
1 2 3 4 5 6 7 8
asyncfunctionprocessRoles() { let roles = ['admin', 'editor', 'employee']; for (const role of roles) { const result = awaitperformTask(role); console.log(result); } console.log('任务处理完成'); }
for…of逻辑
for…of 的实现是基于迭代器的
1 2 3 4 5 6 7 8 9 10 11 12 13
asyncfunctionprocessRoles() { let roles = ['admin', 'editor', 'employee']; let iterator = roles[Symbol.iterator](); let res = iterator.next(); while(!res.done) { let value = res.value; console.log(value); console.log(awaitperformTask(value)); res = iterator.next(); } console.log('任务处理完成'); } processRoles()