Добавление обещаний в массив и предотвращение их автоматического разрешения - PullRequest
0 голосов
/ 12 апреля 2020

I w * sh, чтобы добавить произвольное количество обещаний в массив и разрешить их последовательно выполнять одно за другим в некоторый момент. Быстрый псевдо-swift-код был бы (не вдаваясь в подробности того, как обещания вызываются последовательно):

var someArray: [Promise<Bool>] = [first, second, third, fourth, ...]
...
someArray.append(contentsOf: getMorePromises())

...

firstly {
   ...
}.then { 
  // use someArray here and compose a single Promise 
  // that links to the next element in the array using .then
}

Проблема, с которой я сталкиваюсь, заключается в том, что все обещания в someArray начинают разрешаться автоматически (понятно ) еще до того, как я доберусь до firstly. Как я могу предотвратить это так, что я сохраняю обещания в массиве и разрешаю их разрешать только внутри одной из секций then?

1 Ответ

0 голосов
/ 13 апреля 2020

Я понял это. Оберните обещания в замыкания перед тем, как добавить их в массив, а затем разверните замыкание при извлечении их из массива, чтобы они сработали.

...