У меня есть наблюдаемая (rxjs), которая отправляет данные, используя subscriber.next(value)
.
Как получить эти данные, если наблюдаемое преобразуется в обещание по методу toPromise()
? Это вообще возможно? Или это возможно только для получения данных, переданных через полный метод наблюдаемого.
Возможно, в конвейере есть опции / методы перед преобразованием в обещание, чтобы получить все данные из next()
в виде массива в поле данных метода then()
обещания.
getObservable().toPromise().then(data => {
// data should contain all data sent from observable.next()
console.log('Complete: ', data);
}, error => {
console.log('Error: ', error);
});
Текущее поведение (в этом случае ожидается, но не требуется):
data
содержит данные observable.complete ().
Разыскиваемое поведение :
data
содержит массив всех observable.next ().
Это должно быть включено с помощью опции или канала.
Пример с Observable.range ():
let observer = Rx.Observable.range(1,5).toPromise().then(data => {
console.log('Completed: ', data);
}, error => {
console.log('Error: ', error);
});
Выход:
Completed: 5
Требуются:
Completed: [1, 2, 3, 4, 5]
Я не уверен, возможно ли это вообще.