有没有办法同步编写node.js代码?

时间:2017-12-09 17:16:52

标签: javascript node.js asynchronous synchronous

我正在尝试创建一个分析某些数据的程序。我收集的数据与node.js形成互联网。我很难处理代码是异步的事实,因此我遇到了很多错误。

我知道它根本没有效率,但有没有办法以异步方式编写整个代码?

*我已经使用了许多承诺并修补了很多错误,但我仍然不断收到错误,因为代码是异步的,而且我已经厌倦了考虑创造性的想法以使我的代码工作。

2 个答案:

答案 0 :(得分:3)

这在很大程度上取决于您使用的功能。当然,你可以编写一个完全同步的整个Node.js程序 - 你只需要避免使用异步的任何函数。

但是由于Node.js是异步的,我怀疑这对更复杂的事情是否有效。因为你提到过通过网络加载数据:只是这个已经是一个无法在Node.js中同步完成的任务的例子,因为Node.js中的任何I / O总是异步的(除了存在两次的文件系统方法,但它们是规则的例外)。

我认为解决问题的方式更好的方法是使用与Node.js不同的平台,或者适当地学习处理异步代码。

我想这不是你想听到的答案,但不幸的是,这就是恕我直言。

答案 1 :(得分:0)

如果你正在使用网络(听起来你是从其他来源检索数据),那么你不能在node.js中编写同步网络代码。不存在。 node.js中的所有网络API都是异步的。

要使用node.js网络,您必须学习异步编程。

可以仅使用在服务器请求处理中永远不应该执行的同步文件I / O(因为它破坏了可伸缩性),但有时在服务器启动和非服务器类型脚本中很有用。