Если я правильно понимаю вашу проблему, вы хотите запустить асинхронную проверку последовательно по списку выполнения. Вы можете использовать Rx js оператор ConcatMap для того же. Ниже приведен пример.
var Observable = Rx.Observable;
function mockHTTPRequest(url) {
return Observable.of(`Response from ${url}`)
.delay(1000);
}
let listExecution = ['exe-1', 'exe-2', 'exe-3', 'exe4-4'];
let start = (new Date()).getTime();
Observable.from(urls)
.concatMap(url => mockHTTPRequest(url))
.timestamp()
.map(stamp => [stamp.timestamp - start, stamp.value])
.subscribe(val => console.log(val));
Здесь вы можете проверить, есть ли у меня список выполнений, аналогичный вам, который внутренне передавал вызов API бэкенда, смоделированный с использованием метода mockHTTPRequest. Если вы посмотрите на вывод, вы увидите, что Ajax вызовы были сделаны последовательно.