- From: jan-ivar <notifications@github.com>
- Date: Tue, 02 Feb 2016 08:08:40 -0800
- To: whatwg/fetch <fetch@noreply.github.com>
- Message-ID: <whatwg/fetch/issues/27/178657827@github.com>
> That's not the use case you describe in the comment you linked to though - it fixes that.
@benjamingr It absolutely is, and it doesn't fix it. I must not have communicated well in https://github.com/whatwg/fetch/issues/27#issuecomment-176472760. Let me try again:
```js
let operations = Promise.resolve();
function chain(func) {
let p = operations.then(() => func());
operations = p.catch(() => {});
return p;
};
let someCleanup = () => { /* doesn't matter what */ };
let fooImpl = x => new Promise(resolve => setTimeout(resolve, x));
let foo = x => chain(() => fooImpl(x)).then(() => someCleanup());
let p = foo(3000).then(() => console.log("here")).catch(e => console.error(e));
p.cancel();
```
Here one would expect `fooImpl` to get cancelled, but it wont be with disinterest semantics.
Again, the real code is [here](http://mxr.mozilla.org/mozilla-central/source/dom/media/PeerConnection.js?rev=d2c568567473#488) (`someCleanup` = `legacyCatch`).
---
Reply to this email directly or view it on GitHub:
https://github.com/whatwg/fetch/issues/27#issuecomment-178657827
Received on Tuesday, 2 February 2016 16:09:13 UTC