如何知道客户端是否与Meteor中的服务器同步?

时间:2017-02-13 21:12:25

标签: meteor

我正在尝试实现一个功能,我希望用户看看是否已经处理了对服务器的所有请求,即客户端与服务器同步,以便用户可以确信他的所有更改都已保存

我的想法是覆盖Meteor.call并为每个调用保留一个计数器,然后在返回回复/错误时减少计数器。然后,我将在客户端显示一条消息,说明" Synced"如果计数器为零,否则我将显示" Unsynced"。

基本上我的问题是,是否有任何"内置" Meteor中的功能已经处理过这个问题,跟踪即将离开的Meteor调用,或者我是否应该按照我的开始进行操作?

这是我的代码在这一刻所看到的:

var originalMeteorCall =  Meteor.call;
var counter = 0;
Meteor.call = function() {
    if (this.isClient) {
        if (arguments && arguments.length > 1) {
            counter++;
            var returnFunc = arguments[arguments.length - 1];
            var newReturnFunc = function (err, result) {
                counter--;
                return returnFunc(err, result);
            }
            arguments[arguments.length - 1] = newReturnFunc;
        }
    }
    var result = originalMeteorCall.apply(this, arguments);
    return result;
}

0 个答案:

没有答案