gpt4 book ai didi

node.js - TJ Holowaychuk 对 Node Js 的批评

转载 作者:IT老高 更新时间:2023-10-28 23:01:31 25 4
gpt4 key购买 nike

背景故事,阅读:https://medium.com/code-adventures/4ba9e7f3e52b

TJ 说 Node 失败是因为:

  1. 您可能会收到重复的回调
  2. 您可能根本没有收到回电(迷失方向)
  3. 您可能会遇到带外错误
  4. 发射器可能会收到多个“错误”事件
  5. 缺少“错误”事件会将一切都送入 hell
  6. 经常不确定什么需要“错误”处理程序
  7. “错误”处理程序非常冗长
  8. 回调很糟糕

有人可以告知 TJ 提到的问题吗?例如,我从未见过回调被双重执行的问题。它/它们会在什么条件下发生?

编辑对于那些投票结束的人:如果你不知道 TJ 是谁,他负责大多数 npm 模块。所以这不是一个不知情的用户的“空闲”咆哮。他的离开将极大地伤害 nodejs,这个问题试图得到关于批评细节的答案。我从来没有看到这些问题。你呢?

最佳答案

1:当您将流包装在函数中时,可能会发生:

function doSomething (callback) {
var stream = createStream();
stream.resume();
stream.on('end', callback);
stream.on('error', callback);
}

那么,如果 end 触发,然后 error 触发呢?

2:同样的事情,如果没有触发(例如删除 stream.resume)怎么办?这显然是函数中的一个错误,但您看到的是一切都挂起。

4:你天真地 Hook 了一些异步函数来从发射器发出 error 事件,然后当错误发生时,监听器尝试销毁发射器,引发另一个 error 事件并最终陷入无限循环。

5,6,7:每个没有 error 监听器的发射器都可能使您的应用程序崩溃。您有两种选择:尝试了解在哪里可以安全地省略一个或在任何地方显式添加它们。

8:值得商榷。 TJ 是协程的支持者,所以这只是他的意见。

关于node.js - TJ Holowaychuk 对 Node Js 的批评,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24584427/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com