首页 > 解决方案 > Angular:类型“周期性背景同步”不可分配给类型“PermissionName”

问题描述

我尝试激活后台同步,但在输入代码时出错。为什么找不到呢?

我应该更新一些东西吗?

我的代码:

if ('periodicSync' in worker) {
    const status = await navigator.permissions.query({
       name: 'periodic-background-sync', //ERROR
    });
    // Periodic background sync can be used.
    if (status.state === 'granted') {
       const tags = await worker.periodicSync.getTags(); //ERROR
       if (!tags.includes('sendDbDatas')) {
          worker.periodicSync.register('sendDbDatas'); //ERROR
       }
    } else {
       // Periodic background sync cannot be used.
    }
}

标签: angulartypescriptservice-worker

解决方案


我看到打字不允许值“周期性背景同步”。

interface DevicePermissionDescriptor extends PermissionDescriptor {
    deviceId?: string;
    name: "camera" | "microphone" | "speaker";
}

作为一种解决方法,您可以使用强制转换为任何。

    const status = await navigator.permissions.query({
       name: <any>'periodic-background-sync'
    });

查看Web 定期后台同步草案,我可以勇敢地说这种定期同步是一个尚未成熟的现代功能。没有意外的打字没有意识到这一点。


推荐阅读