I think you can simply solve this with async, await etc for realworld 
usages. Even Promises, for most cases.

But if you're doing this as a research or learning project, then I'm 
curious.

How do you handle the async stuff in the background? Do you use anything 
from above? How do you manage errors?

On Monday, May 4, 2015 at 5:12:13 PM UTC+2, 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 [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/nodejs/533a8c0e-cd93-46ff-89a1-2108fcd0ad68%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to