1 Star 0 Fork 0

laddish/functional-program-learning

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
monad1.js 1.04 KB
一键复制 编辑 原始数据 按行查看 历史
laddish 提交于 2021-04-02 17:36 . init
const Bacon = require("baconjs");
const fetch = require("node-fetch");
// BING、百度、有道平台免费翻译API – 老季博客
// https://www.jiloc.com/44876.html
function getInEnglish(word) {
const url =
"http://fanyi.youdao.com/translate?&doctype=json&type=AUTO&i=" +
encodeURIComponent(word);
const promise = fetch(url)
.then((response) => response.json())
.then((parsedResponse) => {
// console.log(parsedResponse);
return parsedResponse.translateResult[0][0].tgt;
})
.catch((e) => console.log(e));
const stream = Bacon.fromPromise(promise);
return stream;
}
// getInEnglish("高薪").onValue((word) => console.log(word));
const stream = new Bacon.Bus();
//Functor implements MAP
//Monad is a functor that also implements FlatMap
//what the hell is flatMap?
//flatmap : bind chain flatten
//streams 是 functor
stream
.flatMap((word) => getInEnglish(word))
.map((word) => word.toUpperCase())
.onValue((word) => console.log(word));
stream.push("");
stream.push("");
stream.push("");
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/laddish/functional-program-learning.git
git@gitee.com:laddish/functional-program-learning.git
laddish
functional-program-learning
functional-program-learning
master

搜索帮助

23e8dbc6 1850385 7e0993f3 1850385