Web 技术研究所

我一直坚信着,Web 将会成为未来应用程序的主流

干嘛老黑 JavaScript 的异步回调

  经常有人黑 JavaScript 的异步和回调太复杂。对于「复杂」这点我觉得确实如此,但「复杂」也解决了「复杂」的问题。看看 PHP、Python 之类的,连查数据库都是同步的,我怎么觉得性能会坑呢?简直站着说话不腰疼啊?还是让后端也 JavaScript 上吧!
  最初用 nodejs 的时候我也很不习惯,无论是数据库访问还是磁盘访问,什么都得异步。然而现在习惯了觉得,这些东西就应该是异步的啊,看看系统底层的这些 API,全都属于 IO 操作,全是流。同步虽然可以在操作上带来点便利,但实际上是逃避了性能方面的问题。
  当然,我不是纠结什么编程语言的好坏。PHP 和 Python 同样可以实现异步和回调,但并不是语言支持就能解决思想上的问题。我自己写 PHP 一般也不会考虑异步问题,因为这是一种传统。因为它们的传统就不考虑异步,所以即使语言支持,开发者也不会意识到存在什么问题。这个传统源自后端对这些 IO 操作的速度远高于前端请求后端的速度。所以大家都把精力放在前后端通信的优化上。即使后端本身的性能提升,对整个项目带来的性能提升也不显著。
  然而,由于现在前后端通信的花样越来越丰富,光解决前后端通信的性能问题有时候已经满足不了项目需求了。现在就经常遇到前端可以实现,但后端、服务器配置、数据库结构,这些方面无法支持的情况。比如从一个传统的被动存储架构中如何搭建一个主动推送服务?
  越来越现代化的需求会让后端迟早要加入异步回调等机制,所以别黑 JavaScript 的异步回调了,还是慢慢适应吧。
网名:
3.84.186.*
电子邮箱:
仅用于接收通知
提交 悄悄的告诉你,Ctrl+Enter 可以提交哦
神奇海螺
[查看全部主题]
各类Web技术问题讨论区
发起新主题
本模块采用即时聊天邮件通知的模式
让钛合金F5成为历史吧!
次碳酸钴的技术博客,文章原创,转载请保留原文链接 ^_^