[JavaScript] 並列処理と再帰呼び出しで関数受け取り

2019年1月1日火曜日

JavaScript

明けましておめでとうございます。2019年になってしまいましたね。
さて、[JavaScript] 並列処理と再帰呼び出しで関数を受け取るようにすれば、汎用的にできるんじゃっ、ということだったので、やってみました。

function parallel_for(body, pred, args) {
  if (!pred(args)) return;
  args = body(args);
  Promise.resolve().then(() => parallel_for(body, pred, args));
}

b = (i) => { console.log(i); return ++i; };
p = (i) => i < 100;

parallel_for(b, p, 0);
parallel_for(b, p, 0);

ま、並列処理やりたかったら WebWorker 使えって話ですが。