RE: Promises: final steps

Domenic Denicola <domenic-oZxxhNEIM/[email protected]>
Newsgroups gmane.comp.lang.javascript.ecmascript4.general,gmane.comp.web.dom.general
Message-ID <B4AE8F4E86E26C47AC407D49872F6F9F918B3D85@BY2PRD0510MB354.namprd05.prod.outlook.com>
From: Kevin Smith [[email protected]]

> Indeed, for a non-GUI embedding like Node, they *must* be debuggable using just a console.

This is an important point. A provisional idea that preserves our desire to not introduce new features to promises themselves, requiring user choice at authoring time, might be some kind of `console.unhandledRejections()` function which returns you a snapshot of the current unhandled rejections bucket.

> Another option is a static method which takes a promise and throws rejections ala done:
>
> ```js
> Promise.throw(makeSomePromise.then(...));
> ```

I find these kind of things confusing. RSVP did something similar, introducing

```js
RSVP.rethrow = r => setImmediate(() => throw r);
```

so that you write

```js
somePromise.then(...).catch(RSVP.rethrow); // actually RSVP uses `fail`.
```

It's not clear to me why this, or your `Promise.throw`, is better than

```js
somePromise.done(...)
// or
somePromise.then(...).done()
```
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.