Получение готовых уведомлений от наблюдаемых объектов, созданных с помощью переключателя

В приведенном ниже примереfoo получает данные отbar пока игнорирует когдаbar завершается.foo завершено, когдаbaz завершает, а это не то поведение, которое я желаю.

var baz = Rx.Observable.interval( 50 ).take( 10 );

var foo = baz
    .select(function (x) { 
        var bar = Rx.Observable.range(x, 3);
        return bar;
    })
    .switch();

Есть ли вариантswitch или технику, которую я мог бы использовать, чтобы вновь созданныйfoo наблюдаемые имеют то же время жизни, что иbar? То есть хотелось быfoo завершить в случае, еслиbar завершается.

Решение:

var baz = Rx.Observable.interval( 50 ).take( 10 );

var foo = baz
    .select(function (x) { 
        var bar = Rx.Observable.range(x, 3).materialize()
        return bar;
    })
    .switch()
    .dematerialize();

Ответы на вопрос(1)

Ваш ответ на вопрос