Skip to main content

Recursive array calls one after another through promise

 data = [1,2,3,4]
rules = [
                function(d){ return d.map(x => x * 2); },
                function(d){ return d.map(x => x * 2); }
            ]
recursive(0,rules,data);



function somelongrunningprocess(rule, data){
    var d = $.Deferred();
    setTimeout(function(){ var result = rule.call(undefined,data); d.resolve(result); },1000);
    return d;
}

function recursive(index, rules, data) {
            if(index < rules.length) {
                $.when(somelongrunningprocess(rules[index],data)).then(function(response){
                    console.log("after_rule",response);    
                    //recursive((index+1), rules, data);
                    recursive((index+1), rules, response);
                });            
            }
}

Comments

Popular posts from this blog

Splitting Comma-Separated Values In MySQL

CREATE TABLE numbers (n INT);  INSERT INTO numbers VALUES (1), (2), (3), (4), (5), (6), (7), (8), (9),     select id, substring_index( substring_index(email_recipients, ',', n), ',', -1 ) as email from dashboards join numbers on char_length(email_recipients) - char_length(replace(email_recipients, ',', '')) >= n - 1     Reference Site : https://www.sisense.com/blog/splitting-comma-separated-values-in-mysql/

Custom Sorting Array List in PHP

 <?php $order = array("Z","Srilanka","34", "Canada", "India", "USA"); $array = array(     array('id' => 7867867, 'title' => 'USA'),     array('id' => 3452342, 'title' => 'India'),     array('id' => 1231233, 'title' => 'Srilanka'),     array('id' => 5867867, 'title' => 'Z'), ); usort($array, function ($a, $b) use ($order) {     $pos_a = array_search($a['title'], $order);     $pos_b = array_search($b['title'], $order);     return $pos_a - $pos_b; }); print_r($array); ?>