Convert BaseCollection.fetch to return a promise.

Review Request #11629 — Created May 27, 2021 and submitted — Latest diff uploaded


Review Board


This is the first of what is likely to be many steps to move our
codebase towards a more modern feel of using promises and
async/await for asynchronous operations. In this change,
BaseCollection.fetch has been changed, along with everything that
actually uses that including similar methods inside
ResourceCollection. The old callback usage is still available through
a helper which will wrap the returned promise, but causes a warning to
be logged to the console.

This also tweaks to our browserslist config in order to ensure that
async/await won't get polyfilled out due to niche browsers
(primarily on mobile) that we really don't care about supporting.

  • Ran js-tests.
  • Manually tested data population on the review dialog and post commit