- From: Adam Rice <notifications@github.com>
- Date: Thu, 24 Nov 2016 04:21:38 -0800
- To: whatwg/streams <streams@noreply.github.com>
- Message-ID: <whatwg/streams/pull/619/review/10032830@github.com>
ricea commented on this pull request. > @@ -20,6 +20,12 @@ class WritableStream { // producer without waiting for the queued writes to finish. this._writeRequests = []; + // Write requests are removed from _writeRequests when write() is called on the underlying sink. This prevents + // them from being erroneously rejected on error. If a write() call is pending, the request is stored here. + this._pendingWriteRequest = undefined; + + this._pendingCloseRequest = undefined; Consider ```javascript const promise1 = writer.close(); const promise2 = writer.closed; writer.releaseLock(); // [1] ``` `promise2` becomes rejected at [1], but `promise1` may not resolve until later. Except... https://github.com/whatwg/streams/blob/master/reference-implementation/lib/writable-stream.js#L169 thinks you shouldn't be able to do this. If that line is correct and the implementation of `releaseLock()` is wrong, then maybe the `close()` and `.closed` promises can have a shared fate after all. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/whatwg/streams/pull/619
Received on Thursday, 24 November 2016 12:22:26 UTC