从服务工作者每分钟调用一个函数用于脱机PWA

时间:2018-04-13 22:17:09

标签: javascript push-notification service-worker progressive-web-apps offlineapps

我正在使用具有离线支持的Progressive Web App(PWA),我需要在服务工作者的应用程序每分钟中调用一个函数。 (如果用户离线,则发送基于Web API的推送通知)

这样做的最佳方式是什么?

1 个答案:

答案 0 :(得分:2)

每分钟使用setInterval()调用该函数:

 import { FileTransfer, FileUploadOptions, FileTransferObject } from 
 '@ionic-native/file-transfer';
 import { File } from '@ionic-native/file'; 
 ...
 export class HomePage {
    fileTransfer: FileTransferObject = this.transfer.create();

    constructor(... , private transfer: FileTransfer, private file: File) {}
    ...

    download(imgURL){
       this.fileTransfer.download(image.img, this.file.dataDirectory + 'file.jpg').then((entry) => {
          alert('download complete: ' + entry.toURL())
       }, (error) => {
          // handle error
       });
    }
 }

但是您可以倾听function myFunction(){ console.log('called evry minute') } setInterval(myFunction, 1000);online个事件来相应地发送通知,请参阅NavigatorOnLine的兼容性,因为它在offline

Opera