从函数返回一个承诺,该函数从 chrome 扩展的后台 JS 获得响应
Returning a promise from a function that gets a response from the background JS of chrome extension
因此,在 chrome 扩展的 CORB 问题之后,我将 api 调用迁移到后台脚本,并使用来自后台脚本的回调来发送 JSON.[=12 的响应=]
所以我对我从回调中收到的响应有疑问,我希望它 return 它。
async function request (path, apiToken, options) {
chrome.runtime.sendMessage({type: "request", path:path, apiToken:apiToken, options:options}, (all) => {
return Promise.resolve(all.json )
})
}
我调用请求 => 它转到后台 => 后台 return 响应 => 然后请求函数应该 return 一个承诺。
我卡在了最后一步,因为我无法从回调中 return 它,
Return 新 Promise,在你的 sendMessage
回调中解决它
async function request (path, apiToken, options) {
return new Promise(function(resolve, reject) {
chrome.runtime.sendMessage({type: "request", path:path, apiToken:apiToken, options:options}, (all) => {
resolve(all.json)
})
}
因此,在 chrome 扩展的 CORB 问题之后,我将 api 调用迁移到后台脚本,并使用来自后台脚本的回调来发送 JSON.[=12 的响应=]
所以我对我从回调中收到的响应有疑问,我希望它 return 它。
async function request (path, apiToken, options) {
chrome.runtime.sendMessage({type: "request", path:path, apiToken:apiToken, options:options}, (all) => {
return Promise.resolve(all.json )
})
}
我调用请求 => 它转到后台 => 后台 return 响应 => 然后请求函数应该 return 一个承诺。 我卡在了最后一步,因为我无法从回调中 return 它,
Return 新 Promise,在你的 sendMessage
回调中解决它
async function request (path, apiToken, options) {
return new Promise(function(resolve, reject) {
chrome.runtime.sendMessage({type: "request", path:path, apiToken:apiToken, options:options}, (all) => {
resolve(all.json)
})
}