diff --git a/web_src/js/features/repo-issue.js b/web_src/js/features/repo-issue.js index 782957c5b1..b69ba25719 100644 --- a/web_src/js/features/repo-issue.js +++ b/web_src/js/features/repo-issue.js @@ -332,20 +332,16 @@ export function initRepoIssueWipTitle() { }); } -export function updateIssuesMeta(url, action, issueIds, elementId) { - return new Promise((resolve, reject) => { - $.ajax({ - type: 'POST', - url, - data: { - _csrf: csrfToken, - action, - issue_ids: issueIds, - id: elementId, - }, - success: resolve, - error: reject, - }); +export async function updateIssuesMeta(url, action, issueIds, elementId) { + return $.ajax({ + type: 'POST', + url, + data: { + _csrf: csrfToken, + action, + issue_ids: issueIds, + id: elementId, + }, }); } diff --git a/web_src/js/features/repo-legacy.js b/web_src/js/features/repo-legacy.js index 8945360cd5..74880c5dc7 100644 --- a/web_src/js/features/repo-legacy.js +++ b/web_src/js/features/repo-legacy.js @@ -84,18 +84,18 @@ export function initRepoCommentForm() { $(`.${selector}`).dropdown('setting', 'onHide', () => { hasUpdateAction = $listMenu.data('action') === 'update'; // Update the var if (hasUpdateAction) { - const promises = []; - Object.keys(items).forEach((elementId) => { - const item = items[elementId]; - const promise = updateIssuesMeta( - item['update-url'], - item.action, - item['issue-id'], - elementId, - ); - promises.push(promise); - }); - Promise.all(promises).then(() => window.location.reload()); + // TODO: Add batch functionality and make this 1 network request. + (async function() { + for (const [elementId, item] of Object.entries(items)) { + await updateIssuesMeta( + item['update-url'], + item.action, + item['issue-id'], + elementId, + ); + } + window.location.reload(); + })(); } });