Skip to content

Implementation Tracking #47

Closed
Closed
@tchetwin

Description

@tchetwin

Things are looking very healthy for when this is ready for Stage advancement:

Implementations

This is considered "Baseline 2024" by MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/fromAsync

Activity

js-choi

js-choi commented on Mar 3, 2025

@js-choi
Collaborator

Excellent—thank you for collating all of this together.

I plan on progressing this later this year. First we need to address the still-outstanding tasks in #14 (comment). I have had little time to do these, but I hope to push the changes through over the next months.

Once those tasks are done, I will be able to present Array.fromAsync to Stage 4 hopefully later this year.

js-choi

js-choi commented on May 1, 2025

@js-choi
Collaborator

Engines will need to update their behavior to close sync iterables when they yield rejected promises (#49).

There is a pending test262 pull request (tc39/test262#4450). This change came from upstream in tc39/ecma262#1849, but it did not affect this proposal’s spec.

When I tested last month, V8 already should pass this test, while Safari 18.4 and Firefox 136.0 did not pass.

I’m not sure whether this tweak should block Stage 4, given that this change stemmed from a change to ecma262 upstream and not specifically this proposal.

I’m also not sure whether there are bugs filed for Safari and Firefox for tc39/ecma262#1849.

bakkot

bakkot commented on May 1, 2025

@bakkot
Contributor

The mentioned test262 test has landed, which is usually sufficient to inform browsers about a change.

Safari tech preview should pass as well, since they implemented tc39/ecma262#2600 and their implementation of fromAsync is self-hosted. It takes a while for things to hit stable, is all.

Firefox has not implemented tc39/ecma262#2600 yet, but it's tracked in https://bugzilla.mozilla.org/show_bug.cgi?id=1610315 and they'll probably fix fromAsync at the same time.

Anyway, since there are two implementations of the spec'd behavior, this does not affect stage 4.

js-choi

js-choi commented on May 27, 2025

@js-choi
Collaborator

I have confirmed that Safari Technology Preview Release 219 (WebKit 20622.1.12) will pass tc39/test262#4450.

For future reference, the fix that made Chrome/V8 pass tc39/test262#4450 was in v8/v8@6c3f7aa#diff-c18e5d5743326f6ba544801f6ce25154b785f759885651f98924d5b56dc1c2e6, on April 2024.

js-choi

js-choi commented on May 28, 2025

@js-choi
Collaborator

Conditional Stage 4 was achieved in plenary today. Let’s continue in #14.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      No branches or pull requests

        Participants

        @js-choi@bakkot@tchetwin

        Issue actions

          Implementation Tracking · Issue #47 · tc39/proposal-array-from-async