{"action":"created","issue":{"url":"https://api.github.com/repos/WebAudio/web-midi-api/issues/128","labels_url":"https://api.github.com/repos/WebAudio/web-midi-api/issues/128/labels{/name}","comments_url":"https://api.github.com/repos/WebAudio/web-midi-api/issues/128/comments","events_url":"https://api.github.com/repos/WebAudio/web-midi-api/issues/128/events","html_url":"https://github.com/WebAudio/web-midi-api/issues/128","id":60755129,"number":128,"title":"spec clarification: allow multiple open() and close() requests, and multiple calls to requestMIDIAccess()","user":{"login":"toyoshim","id":577684,"avatar_url":"https://avatars.githubusercontent.com/u/577684?v=3","gravatar_id":"","url":"https://api.github.com/users/toyoshim","html_url":"https://github.com/toyoshim","followers_url":"https://api.github.com/users/toyoshim/followers","following_url":"https://api.github.com/users/toyoshim/following{/other_user}","gists_url":"https://api.github.com/users/toyoshim/gists{/gist_id}","starred_url":"https://api.github.com/users/toyoshim/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/toyoshim/subscriptions","organizations_url":"https://api.github.com/users/toyoshim/orgs","repos_url":"https://api.github.com/users/toyoshim/repos","events_url":"https://api.github.com/users/toyoshim/events{/privacy}","received_events_url":"https://api.github.com/users/toyoshim/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/WebAudio/web-midi-api/labels/ready%20for%20editing","name":"ready for editing","color":"eb6420"}],"state":"open","locked":false,"assignee":{"login":"cwilso","id":507001,"avatar_url":"https://avatars.githubusercontent.com/u/507001?v=3","gravatar_id":"","url":"https://api.github.com/users/cwilso","html_url":"https://github.com/cwilso","followers_url":"https://api.github.com/users/cwilso/followers","following_url":"https://api.github.com/users/cwilso/following{/other_user}","gists_url":"https://api.github.com/users/cwilso/gists{/gist_id}","starred_url":"https://api.github.com/users/cwilso/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cwilso/subscriptions","organizations_url":"https://api.github.com/users/cwilso/orgs","repos_url":"https://api.github.com/users/cwilso/repos","events_url":"https://api.github.com/users/cwilso/events{/privacy}","received_events_url":"https://api.github.com/users/cwilso/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/WebAudio/web-midi-api/milestones/2","html_url":"https://github.com/WebAudio/web-midi-api/milestones/V1","labels_url":"https://api.github.com/repos/WebAudio/web-midi-api/milestones/2/labels","id":294310,"number":2,"title":"V1","description":"","creator":{"login":"cwilso","id":507001,"avatar_url":"https://avatars.githubusercontent.com/u/507001?v=3","gravatar_id":"","url":"https://api.github.com/users/cwilso","html_url":"https://github.com/cwilso","followers_url":"https://api.github.com/users/cwilso/followers","following_url":"https://api.github.com/users/cwilso/following{/other_user}","gists_url":"https://api.github.com/users/cwilso/gists{/gist_id}","starred_url":"https://api.github.com/users/cwilso/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cwilso/subscriptions","organizations_url":"https://api.github.com/users/cwilso/orgs","repos_url":"https://api.github.com/users/cwilso/repos","events_url":"https://api.github.com/users/cwilso/events{/privacy}","received_events_url":"https://api.github.com/users/cwilso/received_events","type":"User","site_admin":false},"open_issues":3,"closed_issues":18,"state":"open","created_at":"2013-03-22T22:44:06Z","updated_at":"2015-03-12T21:29:05Z","due_on":null,"closed_at":null},"comments":3,"created_at":"2015-03-12T00:56:39Z","updated_at":"2015-03-12T21:44:27Z","closed_at":null,"body":"For now the spec say nothing about multiple outstanding open() or close() requests.\r\nBut, what happens if open() is called before the previous open() is not resolved?\r\n\r\nI feel it's ok to call async function that returns Promise many times before the previous call finishes.\r\nBefore 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."},"comment":{"url":"https://api.github.com/repos/WebAudio/web-midi-api/issues/comments/78634924","html_url":"https://github.com/WebAudio/web-midi-api/issues/128#issuecomment-78634924","issue_url":"https://api.github.com/repos/WebAudio/web-midi-api/issues/128","id":78634924,"user":{"login":"agoode","id":59842,"avatar_url":"https://avatars.githubusercontent.com/u/59842?v=3","gravatar_id":"","url":"https://api.github.com/users/agoode","html_url":"https://github.com/agoode","followers_url":"https://api.github.com/users/agoode/followers","following_url":"https://api.github.com/users/agoode/following{/other_user}","gists_url":"https://api.github.com/users/agoode/gists{/gist_id}","starred_url":"https://api.github.com/users/agoode/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/agoode/subscriptions","organizations_url":"https://api.github.com/users/agoode/orgs","repos_url":"https://api.github.com/users/agoode/repos","events_url":"https://api.github.com/users/agoode/events{/privacy}","received_events_url":"https://api.github.com/users/agoode/received_events","type":"User","site_admin":false},"created_at":"2015-03-12T21:44:27Z","updated_at":"2015-03-12T21:44:27Z","body":"A question about Promises. Would the spec allow implementations to return the **same** Promise object for multiple open() calls?"}}