函数式javascript读取、异步、写入结果
Functional javascript read, async, write result
我现在正在阅读关于fp的大部分指南。但我不知道如何正确地组合这些函数。
const R = require('ramda');
const {IO, Future} = require('ramda-fantasy');
const read = () => IO(() => 'hello');
const write = (data) => IO(() => {
console.log(data)
return data;
});
const process = (data) => Future((reject, resolve) => {
return setTimeout(() => resolve(data), 0);
});
组合函数的最佳方式是什么:读取->处理->写入?
将ios更改为futures。
const R = require('ramda');
const {Future} = require('ramda-fantasy');
const read = () => Future((reject, resolve) => resolve('hello'));
const write = (data) => Future((reject, resolve) => {
console.log(data)
resolve(data);
});
const process = (data) => Future((reject, resolve) => {
return setTimeout(() => resolve(data), 0);
});
read.chain(process)
.chain(write)
.fork(console.warn, console.log);
期货就像异步ios,所以在这两种类型之间没有太大的区别。如果你真的想区别对待他们,你可以像bergi建议的那样,将monad嵌套到IO>中。
相关文章:
- 函数式javascript读取、异步、写入结果
- Typeahead.js未显示异步结果
- Meteor:如何遍历一个数组,这是一个异步方法的结果
- 根据两个异步函数调用的结果执行
- backbone.js视图没有't由于异步获取而显示结果;t渲染
- Mongoose查找结果和异步
- 等待异步结果的 Chrome 系统调用
- 没有结果的异步查找会挂起应用
- 如何从异步.js系列返回结果
- 异步功能在预期结果时停止工作
- JavaScript 异步循环不返回结果
- 我怎样才能异步执行 JavaScript 代码片段并等待它们的结果
- 如何使用异步并行将所有回调结果合并到最终回调中
- 无法在会话中存储来自异步瀑布的结果
- JavaScript 中异步 Ajax 调用的测试结果
- 为什么同步使用承诺会返回异步结果
- 如何正确构建异步程序以确保正确的结果
- 缓存来自异步函数的结果,并将其传递给异步.js中的下一个函数
- 等待异步 Javascript 函数结束检索结果(延迟?)
- 角度类型提前异步结果 - 收到错误“类型错误:无法使用'in'运算符搜索 ..在..".