RxJS 5: получить базовое значение в функции Lift

Я уже прочитал и попытался реализовать создание оператора. Также видел осложнения с этим

Несмотря на то, что это хорошо для перегрузки операторов, я хотел бы использовать функцию lift для сохранения деталей времени в обрабатываемом значении без использования timeout (). Это будет полезно, так как поможет с параллельным тестированием без изменения исходного кода. то есть лифт перегрузки, как показано ниже, может помочь сделать универсальный журнал времени для тестов параллелизма.

Rx.Observable.prototype.lift=function(operator){
    const observable = new Rx.Observable();
    observable.source = this;
    observable.operator = operator;

    /****Need help here: Is this possible? Obtain var cvalue= current value
     being processed from source or operator***/
    var newvalue=null;
    if(! cvalue.timeLog) {
        newvalue=Object.assign({},{value:cvalue},{timeLog:[]});
    }else newvalue=cvalue;
    newvalue.timeLog.push({operator: operator.constructor.name, time: Date.now() });

    return observable;
}

В настоящее время я могу использовать источник console.log, observable, operator, но они дают _isScalar: false и определения объектов Observable/Operator.

Есть ли способ получить значение, которым манипулируют непосредственно в функции подъема? В противном случае я могу сделать timestamp(). Timestampflattenfunction() после каждого оператора, но это действительно больно. Перегрузочный подъемник, как указано выше, может значительно облегчить жизнь. Это можно сделать?

0 ответов

Другие вопросы по тегам