For anyone reading this post, the best solution I found was using Promises 
instead.

Promise.resolve(1).then(a).then(a).then(a).then(x => {if(x==3) { 
console.log('low Result'); } else { console.log('high result'); });

Still leaves the question of a visual tool.

On Friday, July 22, 2016 at 1:22:36 PM UTC+9, Phil Heltewig wrote:
>
> In the meantime I found this code: 
> https://gist.github.com/robotlolita/ccecb9b6781ba085d142040a943e1a96
>
> It does what I want to do.
>
> As a follow up question: Does anyone know of a tool that allows users to 
> visually compose flows, similar to the way it is done in Azure ML Studio (
> http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-02-52/Azure-ML-Operationalization.png
> )?
>
> Thanks a lot,
> Phil
>
> On Friday, July 22, 2016 at 1:16:51 PM UTC+9, Phil Heltewig wrote:
>>
>> Hi all,
>>
>> I've searched the forums, yet can't find anything that describes an 
>> answer to what I am looking for.
>>
>> In a nutshell, I would like to control flow of my application be defined 
>> by an external flow input (file) in which the individual steps (functions) 
>> to call, their order and conditions are described.
>>
>> Example code with hardcoded control flow:
>>
>> // Code
>>
>> function A(input){
>> return input * 2;
>> }
>>
>> function B(input){
>> return input + 2;
>> }
>>
>> function C(input){
>> return input / 2;
>> }
>>
>> functionZ(input){
>> if(input==3) lowResult();
>> else highResult();;
>> }
>>
>> function lowResult(){
>> console.log('Result smaller than 4');
>> }
>>
>> function highResult(){
>> console.log('Result equal or larger than 4')
>> }
>>
>> // flow 1
>> Z(C(B(A(2)))); // (((2 * 2) + 2) / 2) = 3 returns 'Result smaller than 4'
>> // flow 2
>> Z(B(C(A(2)))); // (((2 * 2) / 2) + 2) = 4 returns 'Result equal or 
>> larger 4'
>>
>>
>> Now what I am looking for is a library or approach that allows me to 
>> define flow 1 and flow 2 in a file and then have the code execute according 
>> to the defined flow. Best would be format that allows for conditions, etc 
>> as well.
>>
>> <!-- FLOW 1 -->
>> <STEP function="A" />
>> <STEP function="A" />
>>
>> <STEP function="A" />
>>
>> <IF condition="==3">
>>    <STEP function="lowResult" />>
>> <ELSE>
>>    <STEP function="highResult" />
>> </IF>
>>
>>
>>
>> That way different control flows could be easily composed by connecting a 
>> number of components.
>>
>> Thanks for reading,
>> Phil
>>
>>
>>

-- 
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/fc914ecd-7302-4793-9d04-b9dfd6a3216b%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to