Hi ami, if you haven't already, I might recommend having a look at the
Promises/A+ spec [1] and some implementations such as bluebird [2]
before deciding more language support is necessary to resolve
aesthetic callback issues.

Hope that helps,
Branden

[1] https://promisesaplus.com/
[2] https://github.com/petkaantonov/bluebird

On Mon, May 4, 2015 at 4:30 PM, John Wathen <john.s.wat...@gmail.com> wrote:
> Have you taken a look at https://www.npmjs.com/package/async? You still have
> a callback at the end but it can help to clean up a lot of the deep nesting.
>
> async.series([a, b], function(err, results) {
>   console.log(results); // an array holding the results of a and b
> });
>
> On Monday, May 4, 2015 at 8:12:13 AM UTC-7, ami wrote:
>>
>> Hello everyone.
>>
>> I thought about a solution how to solve the callback hell.
>>
>> var a=asyncFunction1(parameters,function(err,param1){
>>   var b=asyncFunction2(parameters,function(err,param2){
>>      if (err) console.log(err)
>>      console.log('here')
>>   }
>>
>> I want to create new syntax for calling to async functions.
>> The new syntax will be as extension to JavaScript (like TypeScript, or
>> CoffeScript but minimalist change to the JS code).
>> It will be compiled just before Node.jS running the JavaScript.
>>
>> I have created new GitHub repository. And I want to start developing it.
>> (https://github.com/AminaG/HeavenScript)
>> I am searching for other developers, who want to join me in this project.
>> I need help in 2 things:
>> 1. IDE's intellisense. Because I am changing little bit the JavaScript,
>> all IDE's will create warnings. So I need to create new definition files for
>> them (IntelliJ, SublimeText, VS, etc;) Who here know how to do it?
>> 2. Help me with English. My development skills, are much better than
>> English. So for explanations, and create README file, I need help.
>>
>> //******************************
>> the new syntax:
>>
>> a=@asyncFunction1(param1)
>> err,b=@asyncFunction2(param2)
>> console.log('now we can access to a,b')
>>
>> it will be converted to
>>
>> asyncFunction1(param1,function(err,a){
>>   if(err) throw err;
>>   asyncFunction2(param2,function(err,b){
>>     console.log('now we can access to param1, param2')
>>   })
>> })
>>
>>
>> //******************************
>> One More Example:
>>
>> See how much it is easier and readable to write it in HeavenScript
>>
>> function theBlock(){
>>   a=@asyncFunction1(param1)
>>   err,b=@asyncFunction2(param2)
>>   console.log('Now we can access a,b,err')
>>   if (err) {console.log('error in function2'),
>>   err,c=@asyncFunction3(param3) {
>>       console.log('Now we can access a,b,c')
>>   }
>>   d=@asyncFunction4(param4)
>>   console.log('Now we can access only to a,b. c is in another scope')
>> }
>>
>> (304 characters)
>>
>> It will be converted to:
>>
>> asyncFunction1(param1,function(err,a){
>>   if(err) throw err
>>   asyncFunction2(param2,function(err,b){
>>     console.log('Now we can access a,b,err')
>>     if (err) console.log('error in function2')
>>       asyncFunction3(param3,function(err,c){
>>          console.log('Now we can access a,b,c')
>>       })
>>       d=asyncFunction4(param4,function(err,d){
>>           if(err) throw err
>>            console.log('Now we can access only to a,b. c is in another
>> scope')
>>      })
>>     })
>> })
>>
>>
>> (391 characters)
>>
>> What do you think?
>
> --
> Job board: http://jobs.nodejs.org/
> New group rules:
> https://gist.github.com/othiym23/9886289#file-moderation-policy-md
> Old group rules:
> https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
> ---
> You received this message because you are subscribed to the Google Groups
> "nodejs" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to nodejs+unsubscr...@googlegroups.com.
> To post to this group, send email to nodejs@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/nodejs/a73509d3-9f00-42f2-a7dd-7c5875e86a65%40googlegroups.com.
>
> For more options, visit https://groups.google.com/d/optout.

-- 
Job board: http://jobs.nodejs.org/
New group rules: 
https://gist.github.com/othiym23/9886289#file-moderation-policy-md
Old group rules: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
--- 
You received this message because you are subscribed to the Google Groups 
"nodejs" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to nodejs+unsubscr...@googlegroups.com.
To post to this group, send email to nodejs@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/nodejs/CAOo4ObqV76DE_H-vAjY73YufRhgnUGM2Ov_c_nmBAH02uEQhTg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to