Это расширит процесс обработки последовательности обещаний более общим образом, поддерживая динамические / бесконечные последовательности, основанные на реализации spex.sequence :
var $q = require("q");
var spex = require('spex')($q);
var files = []; // any dynamic source of files;
var readFile = function (file) {
// returns a promise;
};
function source(index) {
if (index < files.length) {
return readFile(files[index]);
}
}
function dest(index, data) {
// data = resolved data from readFile;
}
spex.sequence(source, dest)
.then(function (data) {
// finished the sequence;
})
.catch(function (error) {
// error;
});
Не только это решение будет работать с последовательностями любого размера, но вы можете легко добавить дросселирование данных и балансировку нагрузки к нему.
Вы можете использовать оператор debugger
:
// your JS code
...
// break here
debugger;
Он работает во всех основных браузерах.