node-sync 这么好用的库为啥没什么人用?

2016-05-20 15:17:01 +08:00
 haozes

https://github.com/ybogdanov/node-sync

node 的回调太蛋疼了,业务一复杂,再加上错误处理,那代码仅只日狗...,看了不少库,co,promise,yield 感觉都不是很方便.这个库,一下把代码精练了许多,用 fiber 处理应该性能问题不大

// Run in a fiber Sync(function(){

// Function.prototype.sync() interface is same as Function.prototype.call() - first argument is 'this' context
var result = asyncFunction.sync(null, 2, 3);
console.log(result); // 5

// Read file synchronously without blocking whole process? no problem
var source = require('fs').readFile.sync(null, __filename);
console.log(String(source)); // prints the source of this example itself

})

但就是不知道这玩意为啥没什么人用,难道太坑?

4897 次点击
所在节点    Node.js
28 条回复
Septembers
2016-05-20 15:41:41 +08:00
尽可能不要修改内置类型的 prototype
see https://v2ex.com/t/190956#r_2061759
arden
2016-05-20 16:08:53 +08:00
好东东,有这东东,就不用把函数转成 async function 或者 function()*了。
colatin
2016-05-20 16:15:27 +08:00
每个 fiber 会有个栈,如果在复杂应用里广泛使用,估计会死得很难看
xjp
2016-05-20 16:23:53 +08:00
如果想用 fib 的话 来这里 http://fibjs.org 孢子社区全站都是用这个写的
daysv
2016-05-20 16:50:10 +08:00
尽可能不要修改内置类型的 prototype +1
Jaylee
2016-05-20 17:00:05 +08:00
还是更喜欢 await / async
tomoya92
2016-05-20 17:54:10 +08:00
用 async 顺手了
sox
2016-05-20 17:58:50 +08:00
搞反了吧, co 还不方便😂
fds
2016-05-20 18:12:10 +08:00
因为不喜欢 fiber ,运行时程序流程变复杂了
djyde
2016-05-20 18:14:16 +08:00
第三方入侵你的 prototype 是很危险的。

何况有 async/await
mercurylanded
2016-05-20 18:35:47 +08:00
用 rxjs
alexapollo
2016-05-20 19:25:28 +08:00
代码不兼容?栈的大小过大?
haozes
2016-05-20 19:27:32 +08:00
@colatin 太多估计会影响性能
haozes
2016-05-20 19:28:10 +08:00
@Septembers 这个应该不算修改 protype 吧
napsterwu
2016-05-20 20:02:39 +08:00
es6 已经自带 promise 了 不再需要其他的库
maomaomao001
2016-05-20 20:05:15 +08:00
已得 node 恐惧症..... 求 node 可视化包管理工具
node 一言不合就开始联网下东西.....还下的特别慢慢
和 gradle 有的一比...
sox
2016-05-20 20:15:46 +08:00
@maomaomao001 下东西难道不是因为你执行了需要连接网络的操作,怪 node 干什么
haozes
2016-05-20 21:31:38 +08:00
@napsterwu promise 是无法完全解决回调地狱问题的,而且会传染所有的地方都得用 promise
haozes
2016-05-20 21:32:55 +08:00
@maomaomao001 比 gradle 还是好多了,那货经常下不来
maomaomao001
2016-05-20 21:36:29 +08:00
@sox 不是啊,明明下载过的东西,比如 ts 项目,它为什么每次都要下一遍 typescript 全部东西....速度还那么慢....就不能用本地的吗? 问题,到底又没用比较好用可视化管理工具?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/280037

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX