Документы rxjs утверждают, что оператор concat может принимать отдельные аргументы наблюдаемых или массив. Когда я передаю индивидуальные аргументы, я получаю то, что ожидаю. Наблюдаемая, возвращаемая из concat, имеет все значения из каждой наблюдаемой в наблюдаемой, которую она возвращает последовательно, как и должно быть. Вот пример с отдельными параметрами, и он работает как ожидалось:
var str: string = "";
var obs1: Observable<string> = of("hello");
var obs2: Observable<string> = of("world");
concat(obs1, obs2).subscribe(
s => str += s as string + " ",
err => {},
() => str.trim()
)
Когда это запустится, str будет "hello world"
Когда я передаю массив наблюдаемых, он возвращает [объект объекта] для каждого значения вместо значения наблюдаемой. Может кто-нибудь сказать мне, почему это и как получить concat, работающий с массивом? Вот приведенный выше пример использования массива:
var str: string = "";
var strBuild: Observable<string>[] = [];
strBuild.push(of("hello"));
strBuild.push(of("world"));
concat(strBuild).subscribe(
s => str += s as string + " ",
err => {},
() => str.trim()
)
Когда это запустится, str будет "[объект объекта] [объект объекта]"
Что мне здесь не хватает? Заранее спасибо за поиск.