sagiv ben giat (2018-02-17T21:13:05.000Z)
`else if` would work but it will look kinda nasty if you have deeply nested
validations.
Keep in mind my example was a small and simple.
It's the same as using async await vs .then etc...


*שגיב בן גיאט*
*Sagiv ben giat*

On Sat, Feb 17, 2018 at 11:09 PM, Jacob Pratt <jhprattdev at gmail.com> wrote:

> Perhaps I'm missing something, but why wouldn't an `else if` work here?
>
> jhpratt
>
> On Sat, Feb 17, 2018 at 4:02 PM, sagiv ben giat <sagiv.bengiat at gmail.com>
> wrote:
>
>> I hope I'm on the right medium for this, I would like to propose a
>> language feature.
>> withBreak blocks
>>
>> Well the name might not be the best, but it's just my way to be the most
>> clear about this feature proposal.
>>
>> I often find my self doing this in my code:
>>
>> const doWork = () => {
>>   // try catch omitted for brevity
>>   const response = fetchData();
>>   do {
>>     if (response.error) {
>>       log(response.message);
>>       break;
>>     }
>>     if (!response.data) {
>>       log("No data");
>>       break;
>>     }
>>     if (!response.data.todos) {
>>       log("No Todos");
>>       break;
>>     }
>>     return action({ data: response.data });
>>   } while (false);
>> };
>>
>> I'm doing this instead of doing bunch of  if / else if / else blocks or
>> ugly nested if blocks.
>>  What i would like to have is a block that will let me break without
>> being in a loop context.
>> Something like this:
>> withBreak {
>>   if (response.error) {
>>     log(response.message);
>>     break;
>>   }
>>   if (!response.data) {
>>     log("No data");
>>     break;
>>   }
>>   if (!response.data.todos) {
>>     log("No Todos");
>>     break;
>>   }
>>   return action({ data: response.data });
>> }
>>
>> This can be a synthetic sugar for do{}while(false)  behind the scenes.
>>
>> Best regards,
>>
>> Sagiv B.G
>>
>>
>> _______________________________________________
>> es-discuss mailing list
>> es-discuss at mozilla.org
>> https://mail.mozilla.org/listinfo/es-discuss
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20180217/b40472a7/attachment.html>
sagiv.bengiat at gmail.com (2018-02-17T21:16:13.209Z)
`else if` would work but it will look kinda nasty if you have deeply nested
validations.
Keep in mind my example was a small and simple.
It's the same as using `async` `await` vs `.then` etc...


Sagiv b.g
sagiv.bengiat at gmail.com (2018-02-17T21:14:01.550Z)
`else if` would work but it will look kinda nasty if you have deeply nested
validations.
Keep in mind my example was a small and simple.
It's the same as using async await vs .then etc...


Sagiv b.g