# Spread async with some looking for champion

**URL:** <https://es.discourse.group/t/spread-async-with-some-looking-for-champion/273>\
**Category:** 💡 Ideas\
**Tags:** proposal\
**Created:** [March 23, 2020, 7:19am UTC](https://es.discourse.group/t/spread-async-with-some-looking-for-champion/273 "2020-03-23T07:19:53Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![Misiur](https://yyz2.discourse-cdn.com/free1/user_avatar/es.discourse.group/misiur/32/283_2.png) [@Misiur](https://es.discourse.group/u/Misiur)\
**Post date:** [March 23, 2020, 7:19am UTC](https://es.discourse.group/t/spread-async-with-some-looking-for-champion/273/1 "2020-03-23T07:19:53Z")

</div>

> <https://github.com/Misiur/proposal-spread-async/blob/c4e9a88b9e1027ab2e2ea03f0a0dec06d435b5be/spec.md>

Looking for opinions and champions

---

<div class="post-metadata">

**Author:** ![devsnek](https://yyz2.discourse-cdn.com/free1/user_avatar/es.discourse.group/devsnek/32/100_2.png) [@devsnek](https://es.discourse.group/u/devsnek)\
**Post date:** [March 23, 2020, 7:35am UTC](https://es.discourse.group/t/spread-async-with-some-looking-for-champion/273/2 "2020-03-23T07:35:53Z")

</div>

`[...await x]` is already valid syntax. `[await ...x]` was mentioned in the issue you linked and is not valid syntax, so using that would probably be ideal.

---

<div class="post-metadata">

**Author:** ![Misiur](https://yyz2.discourse-cdn.com/free1/user_avatar/es.discourse.group/misiur/32/283_2.png) [@Misiur](https://es.discourse.group/u/Misiur)\
**Post date:** [March 23, 2020, 7:37am UTC](https://es.discourse.group/t/spread-async-with-some-looking-for-champion/273/3 "2020-03-23T07:37:28Z")

</div>

It throws errors in combination with generators. Should it be already supported in node v13?

---

<div class="post-metadata">

**Author:** ![bergus](https://yyz2.discourse-cdn.com/free1/user_avatar/es.discourse.group/bergus/32/152_2.png) [@bergus](https://es.discourse.group/u/bergus)\
**Post date:** [March 23, 2020, 4:07pm UTC](https://es.discourse.group/t/spread-async-with-some-looking-for-champion/273/4 "2020-03-23T16:07:45Z")

</div>

Hello Misiur,  
thank you for your idea!

Notice that the [_iterator-helpers_ proposal](https://github.com/tc39/proposal-iterator-helpers) already covers this use case:

```javascript
const values = await gen().toArray();
const somevalues = await gen().take(2).toArray();

```

No need to strain spread syntax.

---

<div class="post-metadata">

**Author:** ![Misiur](https://yyz2.discourse-cdn.com/free1/user_avatar/es.discourse.group/misiur/32/283_2.png) [@Misiur](https://es.discourse.group/u/Misiur)\
**Post date:** [March 23, 2020, 9:02pm UTC](https://es.discourse.group/t/spread-async-with-some-looking-for-champion/273/5 "2020-03-23T21:02:00Z")

</div>

Awesome, rxjs integration with lazy evaluation sounds awesome, but still, spread syntax support would be great.

---

<div class="post-metadata">

**Author:** ![claudiameadows](https://yyz2.discourse-cdn.com/free1/user_avatar/es.discourse.group/claudiameadows/32/126_2.png) [@claudiameadows](https://es.discourse.group/u/claudiameadows)\
**Post date:** [April 10, 2020, 1:10am UTC](https://es.discourse.group/t/spread-async-with-some-looking-for-champion/273/6 "2020-04-10T01:10:04Z")

</div>

I like this idea a lot (mod @devsnek's nit, of course). Makes some things trivial like reading a stream into a buffer (with `Buffer.from([await ...x])`) and getting the last N items in a stream (with `[await ...takeLast(n, x)]`).

---

<div class="post-metadata">

**Author:** ![Misiur](https://yyz2.discourse-cdn.com/free1/user_avatar/es.discourse.group/misiur/32/283_2.png) [@Misiur](https://es.discourse.group/u/Misiur)\
**Post date:** [April 10, 2020, 4:07am UTC](https://es.discourse.group/t/spread-async-with-some-looking-for-champion/273/7 "2020-04-10T04:07:35Z")

</div>

Reflected the `await` position change.
