【问题标题】:What you need to know about Asynchronous JS Programming? [closed]关于异步 JS 编程你需要了解什么? [关闭]
【发布时间】:2013-09-05 02:25:11
【问题描述】:

我是一名网络应用程序开发人员,我使用启用 APC 的大多数应用程序 PHP/MySQL 缓存技术:Memcached 是我最喜欢的。有时我使用 Percona MySQL 版本。

我是 NodeJS 的新手,我想使用它构建自己的 Web 应用程序。这是一个使用 Facebook、Twitter 和 Instagram API 的 SaaS。我读了很多关于它的好东西。

在启动应用程序之前我需要了解关于异步 JS 编程的哪些知识?

异步编程有什么性能优势吗?

有没有活生生的例子,有Async/Sync区别的图表?

【问题讨论】:

  • 这个问题太笼统了。你需要知道一切,这真的很难。
  • 只需阅读文档或查找书籍。
  • 这不是一个有用的答案,我知道有很多关于 NodeJS 的书。但是在开始时,NodeJS 专家可以告诉我从什么开始,以及我首先需要知道什么。
  • @McShark:虽然这是一个有趣的问题,但这更像是一个“意见”问题,无论站在哪一边,大多数答案都会被认为是正确的,这不是真正的@987654321 @。也许Programmers SE 更适合这样的话题。
  • 在考虑同步与异步时没有太多意见,但即便如此,问题也太宽泛了。 Help 声明:“你的问题应该有合理的范围。如果你能想象一本书能回答你的问题,那你就问得太多了。”基本上就是这样。

标签: javascript performance node.js asynchronous


【解决方案1】:

它不会阻塞。

我们对比PHP:

<?
    readfile('some/large/file.bin');
?>

这可能需要一段时间。当PHP 读取文件时,它不能做其他事情(比如回答其他请求)。

同样的事情异步(使用node.js):

fs.readFile('/some/large/file.bin', function callback);

节点在没有blocking当前进程的情况下进行读取。

总而言之:虽然synchronous 方法会阻塞进程直到结果可用,但asynchronous 方法具有执行其他操作的优势,甚至在readFile callback 被解雇之前。

【讨论】:

  • require 是同步 afaik,readFile readFileSync 的同步版本也是如此
  • 是的,当然。我应该把这个排除在外。我的意思是只有fs.readFile 部分。
  • 我只是留下了明显的require 部分以避免混淆:)
  • +1 以获得简单的概述。可以添加一些关于使用回调的内容,这基本上是异步代码的主要方面,也许是一些示例,但是是的,那将是一本针对不太有建设性的问题的书。
  • +1 让我的答案存在于此 :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-01-08
  • 2011-01-13
  • 1970-01-01
  • 2023-04-10
  • 2011-04-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多