The term "promises" has been so overloaded with so much, simply saying it is not going to help anyone achieve anything.
PS: I'm currently quite happy with this: https://github.com/jmar777/suspend On Tue, May 5, 2015 at 7:22 AM, Adam Reynolds <[email protected]> wrote: > This has been solved. It's called promises > On 4 May 2015 22:02, "John Wathen" <[email protected]> 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 [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/a73509d3-9f00-42f2-a7dd-7c5875e86a65%40googlegroups.com >> <https://groups.google.com/d/msgid/nodejs/a73509d3-9f00-42f2-a7dd-7c5875e86a65%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> 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 [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/CAFszCkPuDdc%3DZ9_7A3cMWfRnkv%2BAAKp32dPQgfyrBLWwVo%2BbaQ%40mail.gmail.com > <https://groups.google.com/d/msgid/nodejs/CAFszCkPuDdc%3DZ9_7A3cMWfRnkv%2BAAKp32dPQgfyrBLWwVo%2BbaQ%40mail.gmail.com?utm_medium=email&utm_source=footer> > . > > 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 [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/CABg07fu-YrBp1D5Hm8jXFud1OOz%3DTFt%2Bf_5-NPnDg4hBWRe4aQ%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
