<div dir="ltr"><div><div><div>Do we really need to add support for await in a pipeline syntax sugar when there already is a piping support in `.then()`? If you need to await something in that chain, then just use `.then()`.<br><br></div>```js<br></div>let result = await fs.readFile('index.txt')<br>  .then(aSingleParamFunction)<br>  .then(anotherSingleParamFunction)<br></div>  .then(x => multiParamFunction(x, 10));<br><div><div>```<br><br></div><div>I really don't see much gain in adding this syntax when there is already a FBS proposal that covers most of the cases. The pipe operator only supports single param functions. With multiple params you either need to use fat-arrow (while FBS handles multiple params) or you need a special function that is curryable. So now we either need functions that is curryable (for |>) or a function that relies on the `this` value (for FBS), so libraries will probably need to be specially written for whichever proposal is added to the spec. It looks to me like FBS adds a lot more value than |> does.<br></div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Dec 14, 2015 at 2:05 PM, Bruno Jouhier <span dir="ltr"><<a href="mailto:bjouhier@gmail.com" target="_blank">bjouhier@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div style="font-size:12.8px">`await` could be handled by with contextual lexing: handling `|> await` as a single keyword. </div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px">Another solution would be to collapse the two into a variant of the pipeline operator: `|await>`, `|!>`, ...</div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px">This could be an opportunity to revive the syntax sugar that was proposed in <a href="http://wiki.ecmascript.org/doku.php?id=strawman:concurrency" target="_blank">http://wiki.ecmascript.org/doku.php?id=strawman:concurrency</a></div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px">```js</div><div style="font-size:12.8px">// concurrency strawman</div><div style="font-size:12.8px">lines = fs.readFile!('./index.txt').split('\n');</div><div style="font-size:12.8px">// pipeline operator</div><div style="font-size:12.8px">lines = './index.txt' |!> fs.readFile |> str => str.split('\n') </div><div style="font-size:12.8px">```</div></div>
<br>_______________________________________________<br>
es-discuss mailing list<br>
<a href="mailto:es-discuss@mozilla.org">es-discuss@mozilla.org</a><br>
<a href="https://mail.mozilla.org/listinfo/es-discuss" rel="noreferrer" target="_blank">https://mail.mozilla.org/listinfo/es-discuss</a><br>
<br></blockquote></div><br></div>