cordova icon indicating copy to clipboard operation
cordova copied to clipboard

Use async functions wherever applicable

Open raphinesse opened this issue 6 years ago • 0 comments

Using the async keyword ensures that a function will always return a Promise. Previously this was achieved by wrapping the function body in return Promise.resolve().then(…) which has a very slight async penalty and can make stack traces harder to read.

Definition of done

For all known asynchronous functions:

  • add async keyword
  • undo wrapping in Promise.resolve().then(…) if applicable
  • undo any explicit result wrapping return Promise.resolve(…)return …
  • throw errors instead of returning rejections return Promise.reject(new Error(…))throw new Error(…)
  • optional: use await & try/catch in the function body instead of traditional promise handling

Task list

Tools/libs

  • [ ] cordova-cli
  • [ ] cordova-lib
  • [ ] cordova-create
  • [ ] cordova-fetch (src-only: https://github.com/apache/cordova-fetch/pull/89)
  • [ ] cordova-common
  • [ ] cordova-serve
  • [ ] cordova-js (only the Node.js part)

Platforms (only the Node.js part)

  • [ ] cordova-android
  • [ ] cordova-browser
  • [ ] cordova-ios
  • [ ] cordova-windows

raphinesse avatar Nov 21 '19 12:11 raphinesse