在RxJS中是否有一个操作符或规定在每次调用函数时调用



我有一个函数className.doSomething()返回一个可观察对象。我想知道这个函数被调用或订阅的时间。

className.doSomething ():callAtSubscribe("打印当前时间"):利用():订阅()

需要适当的东西来代替callAtSubscribe。

您可以将该方法包装在Observable.Create中。这将允许您跟踪何时进行订阅。如果将其包装在一个方法中,就可以跟踪该方法何时被调用。这将允许您查看方法何时被调用(但可能不订阅结果)。

/**
 * Module dependencies.
 */
var Rx = require('rx');
Rx.Observable.prototype.log = function (logger, sourceName) {
    var source = this;
    logger.debug({source : sourceName, kind : 'Created'});
    return Rx.Observable.create(function(observer) {
        logger.debug({source : sourceName, kind : 'Subscribe'});
        return source.subscribe(observer);
    });
};

这是我使用的log方法的简化版本。它可以被大量修改,包括计时、值监听、错误、完井和终止。

最新更新