gpt4 book ai didi

javascript - promise 支持 Chrome Extensions API?

转载 作者:可可西里 更新时间:2023-11-01 02:08:52 25 4
gpt4 key购买 nike

过去几周我一直在编写一些浏览器扩展,直到今天我认为 Firefox 的 WebExtension 应该在 Chrome 中自动运行。所以我尝试根据 Mozilla 的示例编写我的代码。
但是今天我发现在 Chrome Extensions 的 API 文档中并没有提到 Promises。
我在所有扩展的代码中都严格使用 Promises。

那么现在我的问题是,我的代码可以在 Chrome 中运行吗?或者,如果我在最顶部添加一个 var browser = chrome 声明,它会起作用吗?
还是 Chrome 根本不支持 API 上的 Promises?
如果 Chrome 还不支持 API 函数上的 Promises,它将来会支持它们吗?

注意,我知道这个项目:https://github.com/mozilla/webextension-polyfill
但我不愿意经历在所有地方都包含该库的麻烦。此外,它还有恼人的错误。

此外,我没有 Chrome 或 Chromium,出于隐私和安全原因我无法安装它们。

编辑:They're finally starting to implement support for promises.

最佳答案

官方 promise 支持终于来了,并且已经在一些 API 上实现了。在撰写本文时:

On GoogleChrome's Github you can already find a Hello world example using the chrome.tabs API with Promises (await):

chrome.runtime.onInstalled.addListener(async () => {
let url = chrome.runtime.getURL("hello.html");
let tab = await chrome.tabs.create({ url });
console.log(`Created tab ${tab.id}`);
});

如您所见,promise 支持只是在 chrome 对象上实现,它现在同时支持 Promise 和回调。 Firefox 仍然使用 browser 对象作为 promise API。

关于javascript - promise 支持 Chrome Extensions API?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42191030/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com