For now the spec say nothing about multiple outstanding open() or close() requests.
But, what happens if open() is called before the previous open() is not resolved?
I feel it's ok to call async function that returns Promise many times before the previous call finishes.
Before JavaScript has the Promise, typical async APIs, e.g., File API, does not allow multiple requests, and the second request will throw InvalidStateError. But we can manage multiple requests with Promise.