Большое спасибо, но Promise.all выполнит все обещания одновременно, и только результат будет в порядке. Я хочу выполнять обещания один за другим.
я есть динамическое количество обещаний, которые мне нужно выполнять последовательно. Я понял, как я могу выполнять последовательные обещания, но мне не удается сделать его динамичным с рядом обещаний, которые могут варьироваться.
Вот способ, который я нашел, чтобы сделать это статическиКак решать обещания одно за другим? :
function waitFor(timeout) {
return new Promise(function(resolve, reject) {
setTimeout(function() {
resolve(`Finished waiting ${timeout} milliseconds`);
}, timeout);
});
}
waitFor(1000).then(function(result) {
$('#result').append(result+' @ '+(new Date().getSeconds())+'<br>');
return waitFor(2000);
}).then(function(result) {
$('#result').append(result+' @ '+(new Date().getSeconds())+'<br>');
return waitFor(3000);
}).then(function(result) {
$('#result').append(result+' @ '+(new Date().getSeconds())+'<br>');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div id="result"></div>
Я хотел бы сделать то же самое, но вместо 3-х вложенных обещаний, я хотел бы иметь любое число, которое я хочу. Можешь мне помочь ?
Большое спасибо!!