Meteor:通过热码推送向用户发送消息

Alv*_*oli 5 meteor

如何让用户知道他们何时获得热门代码?

此时屏幕在推动期间将变为空白,用户会觉得它很奇怪.我想向他们保证应用程序正在更新.

有钩子或者我可以用的东西吗?

Dav*_*don 4

这是迄今为止我发现的不需要外部包的最短解决方案:

var ALERT_DELAY = 3000;
var needToShowAlert = true;

Reload._onMigrate(function (retry) {
  if (needToShowAlert) {
    console.log('going to reload in 3 seconds...');
    needToShowAlert = false;
    _.delay(retry, ALERT_DELAY);
    return [false];
  } else {
    return [true];
  }
});
Run Code Online (Sandbox Code Playgroud)

您只需将其复制到应用程序的客户端代码中并更改两件事:

  1. 将 替换console.log为警报模式或通知用户屏幕即将重新加载的内容。

  2. 替换ALERT_DELAY为您认为适合用户从 (1) 读取模式的毫秒数。


其他注意事项

  • 我建议观看Evented Mind 上的这段视频,其中更详细地解释了正在发生的事情。

  • 您还可以阅读重新加载源中的注释以获得进一步的启发。

  • 我可以想象更复杂的重新加载逻辑,特别是在决定何时允许重新加载方面。另请参阅此包以了解一种可能的实现。