Applicative Functors可以使异步任务更有效吗?

时间:2017-06-27 16:01:02

标签: javascript functional-programming applicative

drboolean's gitbook中,有一个例子解释了应用函子的重要性:

// Http.get :: String -> Task Error HTML
var renderPage = curry(function(destinations, events) { /* render page */  });

Task.of(renderPage).ap(Http.get('/destinations')).ap(Http.get('/events'))
// Task("<div>some page with dest and events</div>")

据说:

  

两个Http调用都会立即发生,并且当两者都被解析时将调用renderPage。将此与monadic版本进行对比,其中一个任务必须在下一个任务完成之前完成。

我无法理解。我想:

Task.of(renderPage).ap(Http.get(&#39; / destinations&#39;))。ap(Http.get(&#39; / events&#39;))就是(Http。得到(&#39; / events&#39;))。map(Http.get(&#39; / destinations&#39;)。map(renderPage)),两个Http调用都会立即发生而不是那个任务必须在下一次火爆之前完成?

0 个答案:

没有答案