Pusher / Laravel Echo间歇性停止在Ionic 3.9.2上工作

时间:2018-12-13 03:24:32

标签: laravel ionic-framework mobile pusher

通常可以。

当我在Laravel Web应用上创建约会时,Ionic移动应用的列表视图会随着新约会(通过Laravel Echo和Pusher)实时更新。

...
@Injectable()
export class UpdateService {
  private echoStarted: boolean;
  private channel: string = null;
  private dataChanged = new Subject<void>();
  public dataChanged$ = this.dataChanged.asObservable();

  constructor(private auth: AuthService) {
    window.Pusher = require("pusher-js");
    if (this.auth.isLoggedIn()) {
      this.startEcho();
    }
    this.auth.authenticated$.subscribe(status => {
      if (status) {
          if (!this.echoStarted) {
            this.startEcho();
          }
        } else {
          this.stopEcho();
        }
    });
  }
...

但是在某些时候,实时侦听器只是完全停止,并且继续工作,直到我硬刷新移动页面或重置移动应用程序为止。换句话说,当我创建一个新约会时,移动应用列表视图就坐在那里,没有自动更新。

当切换到另一个移动应用程序然后又回来,或者将移动应用程序置于后台模式(按电话电源按钮然后又回来)时,似乎可以重现此问题。在Android和iOS上都发生。

在Webapp的前端Pusher实现上进行实时更新不会发生此问题。

因此,我怀疑这是一个移动应用程序代码问题,希望不是Ionic和Pusher的基本稳定性问题。

也许与OnResume触发器有关,在该触发器中,实时侦听器/进程加倍并且失败了?还是侦听器/进程由于正在接收一些新数据而进入后台模式而失败?间歇性故障是使此问题难以思考的原因。

想知道您是否遇到过类似的问题。任何照明都将不胜感激。

0 个答案:

没有答案