Skip to content

Commit a72be46

Browse files
committed
Use Promise.all() to better handle asynchronous operations
Signed-off-by: Lan Xia <[email protected]>
1 parent f9a5d2a commit a72be46

File tree

5 files changed

+42
-19
lines changed

5 files changed

+42
-19
lines changed

test-result-summary-client/src/Build/AllTestsInfo.jsx

+6-2
Original file line numberDiff line numberDiff line change
@@ -90,11 +90,15 @@ const Build = () => {
9090
};
9191

9292
const getTestResult = async (buildId, limitParam) => {
93-
const builds = await fetchData(
93+
const buildsRes = fetchData(
9494
`/api/getAllTestsWithHistory?buildId=${buildId}${limitParam}`
9595
);
9696

97-
const buildData = await fetchData(`/api/getData?_id=${buildId} `);
97+
const buildDataRes = fetchData(`/api/getData?_id=${buildId} `);
98+
const [builds, buildData] = await Promise.all([
99+
buildsRes,
100+
buildDataRes,
101+
]);
98102
const error = buildData[0].error
99103
? `${buildData[0].buildUrl}: ${buildData[0].error}`
100104
: '';

test-result-summary-client/src/Build/BuildDetail.jsx

+8-6
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,9 @@ export default function BuildDetail() {
1616

1717
useEffect(() => {
1818
const updateData = async () => {
19-
let buildsResults;
19+
let buildsResultsRes;
2020
if (testSummaryResult || buildNameRegex || buildResult) {
21-
buildsResults = await fetchData(
21+
buildsResultsRes = fetchData(
2222
`/api/getAllChildBuilds${params({
2323
buildResult,
2424
testSummaryResult,
@@ -27,14 +27,16 @@ export default function BuildDetail() {
2727
})}`
2828
);
2929
} else {
30-
buildsResults = await fetchData(
30+
buildsResultsRes = fetchData(
3131
`/api/getChildBuilds?parentId=${parentId}`
3232
);
3333
}
3434

35-
const parentResults = await fetchData(
36-
`/api/getData?_id=${parentId}`
37-
);
35+
const parentResultsRes = fetchData(`/api/getData?_id=${parentId}`);
36+
const [buildsResults, parentResults] = await Promise.all([
37+
buildsResultsRes,
38+
parentResultsRes,
39+
]);
3840

3941
setBuilds(buildsResults);
4042
setParent(parentResults);

test-result-summary-client/src/Build/GitNewIssue.jsx

+9-4
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,16 @@ const GitNewissue = () => {
2525
async function updateData() {
2626
const { testId, buildId } = getParams(location.search);
2727
const originUrl = window.location.origin;
28-
28+
// fetch build data
29+
const buildDataRes = fetchData(`/api/getData?_id=${buildId}`);
2930
// fetch test data
30-
const testData = await fetchData(`/api/getTestById?id=${testId}`);
31+
const testDataRes = fetchData(`/api/getTestById?id=${testId}`);
32+
33+
const [buildData, testData] = await Promise.all([
34+
buildDataRes,
35+
testDataRes,
36+
]);
37+
3138
const { testName, duration, testResult } = testData;
3239

3340
// fetch error in test output
@@ -36,8 +43,6 @@ const GitNewissue = () => {
3643
);
3744
const failureOutput = errorInOutput.output;
3845

39-
// fetch build data
40-
const buildData = await fetchData(`/api/getData?_id=${buildId}`);
4146
const {
4247
artifactory,
4348
buildName,

test-result-summary-client/src/Build/ReleaseSummary.jsx

+8-2
Original file line numberDiff line numberDiff line change
@@ -40,19 +40,25 @@ const ReleaseSummary = () => {
4040
report += `${nl} --- ${nl}`;
4141

4242
const buildResult = '!SUCCESS';
43-
const failedBuilds = await fetchData(
43+
const failedBuildsRes = fetchData(
4444
`/api/getAllChildBuilds${params({
4545
buildResult,
4646
parentId,
4747
buildNameRegex: '^((?!(_rerun)).)*$',
4848
})}`
4949
);
50-
const rerunBuilds = await fetchData(
50+
const rerunBuildsRes = fetchData(
5151
`/api/getAllChildBuilds${params({
5252
parentId,
5353
buildNameRegex: 'Test_openjdk.*_rerun',
5454
})}`
5555
);
56+
57+
const [failedBuilds, rerunBuilds] = await Promise.all([
58+
failedBuildsRes,
59+
rerunBuildsRes,
60+
]);
61+
5662
let failedBuildSummary = {};
5763
let failedTestSummary = {};
5864
// concat failedBuilds and rerunBuilds into allBuilds

test-result-summary-client/src/Build/Summary/ResultSummary.jsx

+11-5
Original file line numberDiff line numberDiff line change
@@ -48,14 +48,13 @@ export default function ResultSummary() {
4848
const { parentId } = getParams(location.search);
4949

5050
// get test summary (i.e., passed, failed, total numbers)
51-
const summary = await fetchData(`/api/getTotals?id=${parentId}`);
51+
const summaryRes = fetchData(`/api/getTotals?id=${parentId}`);
5252

5353
// get build information
54-
const buildInfo = await fetchData(`/api/getData?_id=${parentId}`);
55-
const parentBuildInfo = buildInfo[0] || {};
54+
const buildInfoRes = fetchData(`/api/getData?_id=${parentId}`);
5655

5756
// get all SDK builds info
58-
const sdkBuilds = await fetchData(
57+
const sdkBuildsRes = fetchData(
5958
`/api/getAllChildBuilds${params({
6059
buildNameRegex: '^(jdk[0-9]{1,2}|Build_)',
6160
parentId,
@@ -66,14 +65,21 @@ export default function ResultSummary() {
6665
const testSummaryResult = undefined;
6766
const buildResult = undefined;
6867

69-
const builds = await fetchData(
68+
const buildsRes = fetchData(
7069
`/api/getAllChildBuilds${params({
7170
buildResult,
7271
testSummaryResult,
7372
buildNameRegex,
7473
parentId,
7574
})}`
7675
);
76+
const [summary, buildInfo, sdkBuilds, builds] = await Promise.all([
77+
summaryRes,
78+
buildInfoRes,
79+
sdkBuildsRes,
80+
buildsRes,
81+
]);
82+
const parentBuildInfo = buildInfo[0] || {};
7783
let childBuildsResult = 'UNSTABLE';
7884
let javaVersion = null;
7985
const buildMap = {};

0 commit comments

Comments
 (0)