javascript - detect end of chained functions?

前端 未结 3 854

Today I\'m working on a pet project using chained function calls, and I\'m curious how I might detect when the last function in the chain is executed. For example:



        
相关标签:
3条回答
  • 2021-01-25 20:50

    The traditional approach is to put whatever you want done after the final function on the next line:

    func1('initial data').func2().func3().func4();
    allFunctionsDone();
    

    ;)

    0 讨论(0)
  • 2021-01-25 21:02

    You can't.

    Besides, if they are not chained:

    var v = func1('initial data');
    v = v.func2();
    v = v.func3();
    v = v.func4();
    

    What would you consider to be the last function? Every function is the last function in it's own chain, but if you finalise something after each step, that won't work.

    Just make a function that you call last to finalise the process.

    0 讨论(0)
  • 2021-01-25 21:05

    You can write the sequencer, which will help you to do this for you. Instead of executing direct calls, shift the names of the functions and call them one by one. Something like this

    executeSequence(func1('init_dat'),[
        'func2',
        'func3',
        'func4'
    ]);
    
    0 讨论(0)
提交回复
热议问题