Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Meteor 有可能在一段时间后停止流星DDP ping吗?_Meteor - Fatal编程技术网

Meteor 有可能在一段时间后停止流星DDP ping吗?

Meteor 有可能在一段时间后停止流星DDP ping吗?,meteor,Meteor,为了节省服务器带宽,我想在一段时间后停止meteor中的DDP ping,并在重新获得用户焦点时手动刷新页面。 DDP ping是否可配置?过一会儿我能停下来吗 编辑: DDPRateLimiter也可以拯救一些bandwith,但它不会停止 使用该技术,如果浏览器的窗口或选项卡失去焦点,您可以调用Meteor.disconnect(),当浏览器的窗口或选项卡再次处于焦点时,您可以调用Meteor.reconnect() 示例代码: import { $ } from 'me

为了节省服务器带宽,我想在一段时间后停止meteor中的DDP ping,并在重新获得用户焦点时手动刷新页面。 DDP ping是否可配置?过一会儿我能停下来吗

编辑:

DDPRateLimiter也可以拯救一些bandwith,但它不会停止

使用该技术,如果浏览器的窗口或选项卡失去焦点,您可以调用
Meteor.disconnect()
,当浏览器的窗口或选项卡再次处于焦点时,您可以调用
Meteor.reconnect()

示例代码:

import { $ }           from 'meteor/jquery';
import { Meteor }      from 'meteor/meteor';

/* @description Set right visibilitychange event and property names */
const hidden = {};
hidden.str = false;
hidden.evt = void 0;

if (typeof document.hidden !== 'undefined') {
  hidden.str = 'hidden';
  hidden.evt = 'visibilitychange';
} else if (typeof document.mozHidden !== 'undefined') {
  hidden.str = 'mozHidden';
  hidden.evt = 'mozvisibilitychange';
} else if (typeof document.msHidden !== 'undefined') {
  hidden.str = 'msHidden';
  hidden.evt = 'msvisibilitychange';
} else if (typeof document.webkitHidden !== 'undefined') {
  hidden.str = 'webkitHidden';
  hidden.evt = 'webkitvisibilitychange';
}

hidden.check = () => {
  return document[hidden.str];
};

$(document).on(hidden.evt, () => {
  if (hidden.check()) {
    Meteor.disconnect();
  } else {
    Meteor.reconnect();
  }
});

在同样的情况下,值得一提的是DDPRateLimiter可以节省带宽: