【发布时间】:2017-05-24 09:11:48
【问题描述】:
我不是说 ES7 的异步,而是一般的异步函数,例如回调和承诺。
所以,对于我研究过的所有关于 NodeJS 和事件循环的知识。一切都让我相信 NodeJS 对异步有一种错误的感觉。
据我了解,这仅在必须通过外部介质传递函数时才有效。例如,执行一个读取文件(将由 OS API 使用),或者执行一个也将使用外部 API 的请求。
我发现很少有人谈论它,我想在这里与您讨论这个问题。 我的问题是: 我的想法是对的吗?还有,是否有实用的方法来找出异步在哪里工作以及在哪里不支付?在某些情况下,如果我是正确的,异步只会消耗更多的内存。
【问题讨论】:
-
So, for all I studied about NodeJS and event loop. Everything leads me to believe that NodeJS has a false sense of async- 那你需要再次学习 - 当一个使用的函数是异步时,一个在 nodejs 中使用异步函数......你不能决定使用异步函数编写同步代码 - 当然,许多函数都有同步和异步版本,但在大多数情况下(超过 50%),首选异步版本 -
所以,这就是我问的原因……哈哈
-
我的意思是在“你需要再次学习”之后加上一个
;-)- 是开玩笑的评论,一点也不苛刻:p -
我的意思是,只有当异步函数将在另一个位置执行操作时,节点才能与异步正常工作。作为 libuv。我想知道我这样想是否正确?我看到很多使用异步的人对所有事情都发疯了,也许只要它创建回调并承诺节点将无法运行该异步并会阻塞。
标签: javascript node.js asynchronous concurrency es6-promise