通常可以。
当我在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触发器有关,在该触发器中,实时侦听器/进程加倍并且失败了?还是侦听器/进程由于正在接收一些新数据而进入后台模式而失败?间歇性故障是使此问题难以思考的原因。
想知道您是否遇到过类似的问题。任何照明都将不胜感激。