Tag: 承诺•

解决承诺一个接一个(即按顺序)?

考虑以下代码以串行/顺序方式读取文件数组。 readFiles返回一个承诺,只有在所有文件被顺序读取后才会被parsing。 var Q = require("q"); var readFile = function(file) { … // Returns a promise. }; var readFiles = function(files) { var deferred = Q.defer(); var readSequential = function(index) { if (index >= files.length) { deferred.resolve(); } else { readFile(files[index]).then(function() { readSequential(index + 1); }); } }; readSequential(0); // Start! return deferred.promise; }; 上面的代码工作的代码,但我不喜欢做recursion顺序发生的事情。 […]