创建带有超时的网络通知

Create web notification with timeout

如何创建具有设置超时的 TypeScript 网络通知?

我创建了以下代码,但无法在默认超时前关闭通知:

export function createNotification(title: string, body: string) {
    let now: Date = new Date(Date.now());
    let date = now.add(5).seconds();

    let options = {
        body: body,
        requireInteraction: false,
        timestamp: date
    };
    new Notification(title, options);
}

作为测试,我想在 TypeScript 中创建一个持续五秒的通知,覆盖浏览器的默认行为。我在 TypeScript 类型文件中看不到任何对我有帮助的选项:

我使用 Chrome 开发和测试此软件,尽管我使用 Firefox 作为我的主要浏览器。因此,任何在 Chrome 中正常工作但不包含 hack 或浏览器特定代码的解决方案都可以。

你试过 Notification.close() 了吗?

function spawnNotification(theBody,theIcon,theTitle) {
  var options = {
      body: theBody,
      icon: theIcon
  }

  var n = new Notification(theTitle,options);
  setTimeout(n.close.bind(n), 4000);
}

来源:https://developer.mozilla.org/en-US/docs/Web/API/Notification/close