У меня есть ряд асинхронных задач, которые необходимо выполнить, поэтому я использую promises.
Мне нужно определить, когда был выполнен каждый из promises (оба разрешены и отклонены). Я не должен продолжать выполнение до этой точки.
Я использовал что-то вроде этого:
$.when(promise1, promise2, ...).always();
Но этот код неверен, потому что метод when
имеет ленивую оценку, и он возвращается, как только один из promises терпит неудачу. Таким образом, обратный вызов always
также запускается, как только один из promises выходит из строя.
Я думал о кодировании обходного пути, но этот пример использования настолько распространен, что, возможно, кто-то уже это сделал, или, возможно, даже способ сделать это, используя только jQuery (если нет, было бы неплохо добавить Promise.whenNonLazy
или Promise.when(promise1, promise2, ..., false)
в будущем.
Возможно ли это?