RxJS中是否有操作员或配置在每次调用函数时调用?

时间:2015-07-29 22:23:50

标签: system.reactive rxjs

我有一个函数className.doSomething(),它返回一个observable。我想知道调用或订阅这个函数的时间。

className.doSomething() :callAtSubscribe(“打印当前时间”) :点按() :订阅()

需要适当的代替callAtSubscribe。

1 个答案:

答案 0 :(得分:0)

您可以将方法包装在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 方法的一个非常简化的版本。它可以进行大量修改,以包括时序,值的窃听,错误,完成和终止。