flex-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Harbs <harbs.li...@gmail.com>
Subject Re: [FlexJS]Promises
Date Thu, 17 Nov 2016 22:42:26 GMT

On Nov 17, 2016, at 11:46 PM, Alex Harui <aharui@adobe.com> wrote:

> On 11/17/16, 11:21 AM, "Harbs" <harbs.lists@gmail.com> wrote:
>>> It looks like Promise does implement Ithenable.
>> Yes. I know.
>> I did not word that very well. I’m not sure what I meant. I was probably
>> talking about the AS3 implementation. I’m currently thinking that Promise
>> should implement IPromise which inherits from IThenable and ICatchable.
>> Is there a way of declaring static functions in interfaces (i.e.
>> IPromise.resolve(), IPromise.reject(), IPromise.all())?
> Static functions?  Why wouldn't they be instance methods.  Interfaces in
> AS3 can only handle public instance functions.

Promise has 4 static methods which return Promise objects: all(), race(), reject() and resolve().[1]
The most important of these is probably reject() which is the only way I know of to force
a catch in the middle of a promise chain. all() is also very useful.

The method of these which is problematic when using the externs is resolve() because it returns
an Object instead of a Promise.\

>> I’m not sure what you mean about not using es6. The definitions seem to
>> be picked up from there.
> Interesting.  I thought we weren't using ES6.  Does that mean that to use
> Promise in the browser we have to do something to turn on ES6 support?

Not for most browsers. The evergreen browsers all have Promise built in as a Global object.[2]
I.E. needs a polyfill.

View raw message