Convert BaseCollection.fetch to return a promise.

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

Information

Review Board
master

Reviewers

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
    views.

Changes between revision 2 and 3

orig
1
2
3
4
5
6
7

Commits

Summary ID Author
Convert BaseCollection.fetch to return a promise.
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 eventually async) 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 makes a slight tweak to our browserslist config in order to ensure that `async` won't get polyfilled out due to older chrome on android. Testing Done: - Ran js-tests. - Manually tested data population on the review dialog and post commit views.
cf1142ac68ffc3d3850d5bdc828e8c2c247eb01a David Trowbridge
Convert BaseCollection.fetch to return a promise.
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 eventually async) 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 makes a slight tweak to our browserslist config in order to ensure that `async` won't get polyfilled out due to older chrome on android. Testing Done: - Ran js-tests. - Manually tested data population on the review dialog and post commit views.
2a7be8ea22bc567b890bdbeb139d3ffcf1a60e85 David Trowbridge
reviewboard/static/rb/js/collections/baseCollection.es6.js
reviewboard/static/rb/js/resources/collections/resourceCollection.es6.js
reviewboard/static/rb/js/utils/apiUtils.es6.js
Loading...