- From: <bugzilla@jessica.w3.org>
- Date: Mon, 04 Aug 2014 18:32:04 +0000
- To: public-script-coord@w3.org
https://www.w3.org/Bugs/Public/show_bug.cgi?id=26517 Bug ID: 26517 Summary: Methods that return promises are unable to throw exceptions Product: WebAppsWG Version: unspecified Hardware: PC OS: All Status: NEW Severity: normal Priority: P2 Component: WebIDL Assignee: cam@mcc.id.au Reporter: ian@hixie.ch QA Contact: public-webapps-bugzilla@w3.org CC: mike@w3.org, public-script-coord@w3.org Blocks: 25662 http://heycam.github.io/webidl/#es-operations The spec for operations says: # If O has a return type that is a promise type, then: # 1. Let reject be the initial value of %Promise%.reject. # 2. Return the result of calling reject with %Promise% as the this # object and the exception as the single argument value. This is bad practice, IMHO, as discussed in detail here: https://github.com/domenic/promises-unwrapping/issues/24 If I want my API to reject the promise, then I'll reject the promise. If I want it to throw an exception, then I should be able to throw an exception. In particular, if an API is called with bad arguments, then the exception should throw immediately, just like if it's name was typoed. The behaviour of: foo.bar(-1); // only accepts positive numbers ...should be the same as the behaviour of: foo.baz(1); // there's no "baz" method, it's called "bar" -- You are receiving this mail because: You are on the CC list for the bug.
Received on Monday, 4 August 2014 18:32:10 UTC