在JavaScript中检索PromiseSolve数据
我正在从GoogleChrome检索标签数据,该数据存储在Promise对象中,该对象将通过数组实现。正确的数据当前存储在Promise对象中,但我只想访问数组本身 我尝试将结果包装成一个新的Promise并再次尝试解决它,但我一直在Promise对象中获取数据在JavaScript中检索PromiseSolve数据,javascript,google-chrome-extension,promise,Javascript,Google Chrome Extension,Promise,我正在从GoogleChrome检索标签数据,该数据存储在Promise对象中,该对象将通过数组实现。正确的数据当前存储在Promise对象中,但我只想访问数组本身 我尝试将结果包装成一个新的Promise并再次尝试解决它,但我一直在Promise对象中获取数据 export async function getTabData(){ let tabs = []; await window.chrome.tabs.query({currentWindow: true}, function(
export async function getTabData(){
let tabs = [];
await window.chrome.tabs.query({currentWindow: true}, function(data){
for(let i=0; i<data.length; i++){
tabs.push(data[i]);
};
});
return tabs;
}
export async function getPromise() {
const promise1 = await Promise.resolve(getTabData())
.then(i => i)
new Promise(function(res, rej){
res(promise1);
})
.then(function(result){
return Promise.resolve(promise1);
})
.then(function(result){
console.log(result);
});
}
导出异步函数getTabData(){
设tabs=[];
wait window.chrome.tabs.query({currentWindow:true},函数(数据){
for(设i=0;i)
新承诺(功能(res、rej){
res(允诺人1);
})
.然后(函数(结果){
返还承诺。解决(承诺1);
})
.然后(函数(结果){
控制台日志(结果);
});
}
我希望得到一个选项卡数组,但是我得到了一个PromiseValue中存储该数组的Promise对象
您不能等待选项卡查询,因为它没有返回承诺。因此,请用新承诺包装它,并在回调中解决它 当前,阵列将返回为空,并在您登录后填充
export function getTabData() {
return new Promise((resolve, reject) => {
window.chrome.tabs.query({currentWindow: true}, resolve);
});
}
export async function doTabsStuff() {
const tabs = await getTabData();
// do something with tabs array
}
您不能等待选项卡查询,因为它没有返回承诺。因此,请将其包装在新承诺中,并在回调中解决 当前,阵列将返回为空,并在您登录后填充
export function getTabData() {
return new Promise((resolve, reject) => {
window.chrome.tabs.query({currentWindow: true}, resolve);
});
}
export async function doTabsStuff() {
const tabs = await getTabData();
// do something with tabs array
}
它现在只能在函数中工作。再运行一些测试san
async
函数总是返回一个promisei get that,但是如何仅从promisevalue中获取数组?使用then()
或wait
我使用then()保存了函数
然后返回了数据,但我仍然只得到了Promise对象:const data=doTabsStuff()。然后(d=>d);
它只在函数中暂时起作用。再运行一些测试sanasync
函数总是返回一个promisei获取该值,但如何从promisevalue中仅获取数组?或者使用then()
或wait
我使用then()
运行保存的函数,然后返回数据,但我仍然只得到承诺对象:const data=doTabsStuff()。然后(d=>d);