Good. This resolves the tension with JS as well.
"A promise for an integer" is satisfied by fulfilling the promise with one.
"A promise for a void" is satisfied by fulfilling the promise with
undefined.
On Thu, Aug 14, 2014 at 4:33 PM, Marcos Caceres <marcos@marcosc.com> wrote:
>
>
> On August 14, 2014 at 7:31:05 PM, Jonas Sicking (jonas@sicking.cc) wrote:
> > On Thu, Aug 14, 2014 at 1:36 PM, Marcos Caceres wrote:
> > > interface ScreenOrientation {
> > > Promise lock (OrientationLockType orientation);
> > > }
> >
> > It doesn't make sense to put a *value* between the <>. You should put
> > a *type* there. I.e. it doesn't make sense to do
> >
> > Promise<1> returnOne();
> >
> > The thing you do is
> >
> > Promise returnOne();
> >
> > 'void' is the type for 'nothing', so that's what should be used for
> > functions that only return undefined. Whether they return that
> > synchronously or asynchronously.
>
> Yeah, agree. The confusion was "undefined" being treated as a type (not at
> a value).
>
>
>
>
--
Cheers,
--MarkM