Re: Ambient light API redesign

On Mon, Sep 8, 2014 at 1:53 PM, Olli Pettay <olli@pettay.fi> wrote:

> On 09/08/2014 02:48 PM, Tobie Langel wrote:
>
>  On Mon, Sep 8, 2014 at 1:38 PM, Mounir Lamouri <mounir@lamouri.fr
>> <mailto:mounir@lamouri.fr>> wrote:
>>
>>     On Mon, 8 Sep 2014, at 21:24, Tobie Langel wrote:
>>     > Given the requestAnimationFrame use cases exposed by Rick, it seems
>> that
>>     > obtaining the Sensor instance immediately is more developer
>> friendly than
>>     > getting it through a resolved promise. Especially if numerous
>> sensors
>>     > need
>>     > to interact.
>>
>>     ```
>>     sensors = null;
>>     Promise.all(getSensor1(), getSensor2(), getSensor3()).then(function
>> (s)
>>     {
>>        sensors = s;
>>     });
>>
>>     requestAnimationFrame(function(frame) {
>>        requestAnimationFrame(frame);
>>
>>        if (!sensors)
>>          return;
>>
>>        [...]
>>     });
>>     ```
>>
>>
>> This prevents displaying any data until all sensors have been provided
>> with an initial value, which is probably not the kind of behavior you want.
>>
>> --tobie
>>
>
> That depends on how we eventually spec Promise should work in browsers.
> Wasn't the plan at some point to use microtasks?
> (One of the main goals behind microtasks was to get callbacks to be called
> asynchronously, but asap, so in practice before rAF callbacks)


That's not what I was getting at. Image any of these promises above get
rejected (e.g. disconnected temp sensor, access not granted by user or what
not). Nothing will be displayed. Similarly, if one of these sensors trigger
a user prompt, none of the other's data will be accessible until the user
grants access to it.

--tobie

Received on Monday, 8 September 2014 12:00:34 UTC