Well that's what streamline.js does. I'd argue creating a new language just for the purpose of control flow management is a poor idea, but whatever.
With generators you can already do this:
```
require('co')(function*() {
var a = yield asyncFunction1.bind(null, param1)
var b = yield asyncFunction2.bind(null, param2)
console.log(a, b)
})
```
And that would work as you'd expect.
Also, ES7 async/await deserves mentioning.
04.05.2015, 18:12, "ami" <aminad...@gmail.com>:
--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 toasyncFunction1(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 HeavenScriptfunction 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 errasyncFunction2(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 errconsole.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/f2f394a6-80ec-425b-bba3-6ec5f46423ac%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/1733331430820287%40web9o.yandex.ru.
For more options, visit https://groups.google.com/d/optout.