首页 > 代码库 > [Compose] 19. Leapfrogging types with Traversable

[Compose] 19. Leapfrogging types with Traversable

We use the traversable instance on List to reimplement Promise.all() type functionality.

 

For example we want to conver:

[Task] => Task([])

Conver array of Task, into Task of array value.

 

To do that we can use traverse.

const fs = require(fs)const Task = require(data.task)const futurize = require(futurize).futurize(Task)const { List } = require(immutable-ext)const readFile = futurize(fs.readFile)const files = List([box.js, config.json])files.traverse(Task.of, fn => readFile(fn, utf-8)).fork(console.error, console.log)

 

[Compose] 19. Leapfrogging types with Traversable