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() после каждого оператора, но это действительно больно. Перегрузочный подъемник, как указано выше, может значительно облегчить жизнь. Это можно сделать?