gpt4 book ai didi

javascript - 用函数回调封装 JavaScript

转载 作者:行者123 更新时间:2023-12-02 16:48:56 25 4
gpt4 key购买 nike

我有一个带有很多行代码的 chrome 扩展。越来越多的人要求我在其他浏览器(例如 Firefox)上也提供该扩展。

因为它是一个 chrome 扩展,所以包含了很多 chrome 特有的功能。当我开始时,我想将所有特定于 chrome 的方法放入 javascript 文件“chrome.js”中,并用我自己的函数封装 chrome 函数,这样我就可以轻松创建其他特定于浏览器的方法。

对于简单的方法来说这非常容易:

function geti18nMessage(messageId) {
return chrome.i18n.getMessage(messageId)
}

但是如何封装返回函数的(异步)方法

示例:

chrome.runtime.sendMessage(
{
Action: "Load"
}, function (response)
{
console.log("response is "+response);
});

这并不是真正特定于 chrome 的,但 chrome 问题是我的问题的一个真实示例。

最佳答案

您可以像任何其他参数一样传递该函数:

function sendMessage(options, fn) {
return chrome.runtime.sendMessage(options, fn);
}

这假设您致力于在所有平台上采用相同的 Chrome 回调方案。如果你想将回调自定义为你自己设计的东西,那么你可以像这样替换它:

function sendMessage(options, fn) {
return chrome.runtime.sendMessage(options, function() {
// do any processing of the chrome-specific arguments here
// then call the standard callback with the standard arguments you want to
// support on all platforms
fn(...);
});
}

关于javascript - 用函数回调封装 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26854397/

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