27
แก้ไขสัญญาหนึ่งหลังจากที่อื่น (เช่นในลำดับ)?
พิจารณารหัสต่อไปนี้ที่อ่านอาเรย์ของไฟล์ในลักษณะอนุกรม / เรียงลำดับ readFilesส่งคืนสัญญาซึ่งแก้ไขได้เมื่อไฟล์ทั้งหมดถูกอ่านตามลำดับ var readFile = function(file) { ... // Returns a promise. }; var readFiles = function(files) { return new Promise((resolve, reject) => var readSequential = function(index) { if (index >= files.length) { resolve(); } else { readFile(files[index]).then(function() { readSequential(index + 1); }).catch(reject); } }; readSequential(0); // Start! …