我有一些代码似乎工作得很好:
async function myfunction(ref) {
var r1 = await getReport(ref, "queue", "hour", "2018-10-03", "2018-10-04", "pageviews", "page");
var r2 = await getReport(r1.reportID, "get").then(r2 => reportHandler(r1.reportID, r2, 0));
console.log(r2);
}
console.log(r2);
输出此结果:
{report: {…}, waitSeconds: 0, runSeconds: 0}
report:
data: Array(4)
0:
breakdown: [{…}]
breakdownTotal: ["608674"]
day: 1
month: 10
name: "Mon. 1 Oct. 2018"
year: 2018
__proto__: Object
1:
breakdown: [{…}]
breakdownTotal: ["564566"]
day: 2
month: 10
name: "Tue. 2 Oct. 2018"
year: 2018
我正在尝试使用我使用在线教程构建的代码输出“breakdownTotal”的值
const result = data.report.data.reduce((r, e) => {
e.breakdownTotal.forEach(el => {
let key = "data";
if(!r[key]) r[key] = []
r[key].push(...el.counts)
})
return r;
}, {})
但是,我收到此错误:
Uncaught (in promise) ReferenceError: data is not defined
at myfunction (mytest3.html:12)
最佳答案
返回r2
来自myFunction
async function myfunction(ref) {
var r1 = await getReport(ref, "queue", "hour", "2018-10- 03", "2018-10-04", "pageviews", "page");
var r2 = await getReport(r1.reportID, "get").then(r2 => reportHandler(r1.reportID, r2, 0));
return r2;
}
创建data
来自myFunction(ref);
const data= await myFunction(ref);
if(data!=null && data.report.data!=null){
const result = data.report.data.reduce((r, e) => {
e.breakdownTotal.forEach(el => {
let key = "data";
if(!r[key]) r[key] = []
r[key].push(...el.counts)
})
return r;
}, {})
}
关于javascript - 从特定的 javascript 对象属性中提取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52737875/