Rxjs: Наблюдаемые.combineLatest против наблюдаемого.forkJoin

просто интересно, что различия между Observable.combineLatest и Observable.forkJoin? Насколько я вижу, единственная разница -forkJoin ожидает, что наблюдаемые будут завершены, в то время как combineLatest вернуться последние значения.

1 ответов


не только forkJoin требуется, чтобы все входные наблюдаемые были завершены, но он также возвращает наблюдаемое, которое производит одно значение, которое является массивом последних значений, полученных входными наблюдаемыми. Другими словами, он ждет завершения последнего наблюдаемого ввода, а затем создает одно значение и завершает.

В противоположность combineLatest возвращает Observable, который создает новое значение каждый раз, когда входные observables делают, как только все входные observables произвели на хотя бы одно значение. Это означает, что он может иметь бесконечные значения и не может завершить. Это также означает, что входные наблюдаемые не должны завершаться до получения значения.