[英]Can't execute code within .then callback function?
如何在以下代碼的最后一個注釋處執行代碼? 由於某些原因,我不允許這樣做。 我的評論不在回調函數中嗎?
該代碼是Stackoverflow上幾個答案的結果,我不太了解發生了什么。
browser.browserAction.onClicked.addListener(async tab => {
const contentScriptReady = Promise.all([
browser.tabs.executeScript(tab.id, {file: "axios.min.js"}),
browser.tabs.executeScript(tab.id, {file: "content.js"}),
browser.tabs.executeScript(tab.id, { file: "sweetalert2.all.min.js" }),
browser.tabs.insertCSS(tab.id, { file: "styles.css" })
]);
const connectionStatus = {};
async function getConnectionStatusData(logicalAddress) {
let cooperations = await axios.get('http://api.ntjp.se/coop/api/v1/cooperations.json', {
params: {
connectionPointId: connectionPointId,
logicalAddressId: logicalAddressId,
serviceDomainId: serviceDomainId,
serviceConsumerId: serviceConsumerId,
include: "serviceContract"
}
});
/* some more let x = await axios.get... */
connectionStatus.supportedServiceContracts = await Promise.all( cooperations.data.map(cooperation => axios.get('http://api.ntjp.se/coop/api/v1/serviceProducers.json', {
params: {
connectionPointId,
logicalAddressId,
serviceDomainId,
serviceConsumerId,
serviceContractId: cooperation.serviceContract.id,
},
}).then(response => ({ // I want to process the response but I can't put executable code here
serviceContract: cooperation.serviceContract.namespace,
serviceProducerDescription: response.data[0].description,
serviceProducerHSAId: response.data[0].hsaId,
}))
)
);
await contentScriptReady;
browser.tabs.sendMessage(tab.id, connectionStatus);
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.