<div dir="ltr">Ideally there will be an `async` version of do expressions, which evaluate to a promise:<div><br></div><div>```</div><div>let promise = async do {</div><div>  await something();</div><div>};</div><div>```</div><div><br></div><div>(BTW, if we get such a thing, we might not really need top-level-module-await...)</div></div><br><div class="gmail_quote"><div dir="ltr">On Fri, Sep 30, 2016 at 2:39 AM Olivier Lalonde <<a href="mailto:olalonde@gmail.com">olalonde@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Do "do expressions" support the "await" keyword?</div><div class="gmail_extra"><br><div class="gmail_quote"></div></div><div class="gmail_extra"><div class="gmail_quote">On Thu, Sep 29, 2016 at 3:59 PM, Rick Waldron <span dir="ltr"><<a href="mailto:waldron.rick@gmail.com" target="_blank">waldron.rick@gmail.com</a>></span> wrote:<br></div></div><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><br><br><div class="gmail_quote"><span><div dir="ltr">On Thu, Sep 29, 2016 at 3:14 PM Michał Wadas <<a href="mailto:michalwadas@gmail.com" target="_blank">michalwadas@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><p dir="ltr">Similar proposal is already here, do expressions.</p></blockquote><div><br></div></span><div>Additionally... </div><span><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><p dir="ltr"> </p>
<div class="gmail_extra"><br><div class="gmail_quote">On 30 Sep 2016 12:06 a.m., "Olivier Lalonde" <<a href="mailto:olalonde@gmail.com" target="_blank">olalonde@gmail.com</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">I occasionally write IIFE to avoid introducing `let` variables, e.g.:<div><br></div><div>```</div><div><div>const thumb = ({ width, height }) => {</div><div>  const { w, h } = (() => {</div><div>    // if either width or height is set, don't set any default</div><div>    if (Number.isInteger(width) || Number.isInteger(height)) {</div><div>      return { w: width, h: height }</div><div>    }</div><div>    return { w: 400, h: 400 }</div><div>  })()</div><div>  // ...</div><div>}</div><div>```</div></div></div></blockquote></div></div></blockquote><div><br></div></span><div><div>Why introduce the function and cognitive overhead?</div><span><div><br></div><div>const thumb = ({ width, height }) => {</div></span><div>  const w = Number.isInteger(width) ? width : 400;</div><div>  const h = Number.isInteger(height) ? height : 400;<br></div><div>  // ...</div><div>}</div><div><br></div><div><br></div><div>Either way, `do` expressions are what you're looking for.</div><span><font color="#888888"><div><br></div><div><br></div><div>Rick</div></font></span></div></div></div>
</blockquote></div></div><div class="gmail_extra"><div><br></div>-- <br><div data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div>- Oli</div><div><br><font color="#999999">Olivier Lalonde</font></div><div><a href="http://www.syskall.com/" target="_blank">http://www.syskall.com</a> <-- connect with me!</div></div></div></div></div>
</div>
_______________________________________________<br>
es-discuss mailing list<br>
<a href="mailto:es-discuss@mozilla.org" target="_blank">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>
</blockquote></div>