Ah yes, you are correct, it would need to be a special case as I wrote it.
This version should work instead:
```js
// Assume fs.readFile is an `async` function
async function runTask () {
fs.readFile('./index.txt')
|> await
|> file => file
.split('\n')
.map(fs.readFile)
|> Promise.all
|> await
|> all => all.join("\n")
|> console.log
}
```
On Fri, Dec 11, 2015 at 7:08 PM, Kevin Smith <[email protected]> wrote:
> ```js
>> // Assume fs.readFile is an `async` function
>> async function runTask () {
>> './index.txt'
>> |> await fs.readFile
>> |> file => file
>> .split('\n')
>> .map(fs.readFile)
>> |> await Promise.all
>> |> all => all.join("\n")
>> |> console.log
>> }
>> ```
>>
>
> This doesn't work unless you special case the semantics of await
> expressions. With the current semantics, `await fs.readFile` will just
> await `fs.readFile` not the result of applying it.
>
>
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss