Because `postTask` returns a promise, errors inside a `postTask` callback result in the promise being rejected. If we don't catch those errors, then the browser will report an "Unhandled promise rejection" error. This is a confusing message to see in the console, because the fact that `postTask` is a promise-based API is an implementation detail from the perspective of the developer. "Promise rejection" is a red herring. On the other hand, if we do catch those errors, then we need to report the error to the user in some other way. What we really want is the default error reporting behavior that a normal, non-Promise browser event gets. So, we'll re-throw inside `setTimeout`. |
||
|---|---|---|
| .. | ||
| npm | ||
| src | ||
| README.md | ||
| index.js | ||
| package.json | ||
| tracing.js | ||
| unstable_mock.js | ||
| unstable_post_task.js | ||
README.md
scheduler
This is a package for cooperative scheduling in a browser environment. It is currently used internally by React, but we plan to make it more generic.
The public API for this package is not yet finalized.
Thanks
The React team thanks Anton Podviaznikov for donating the scheduler package name.