Node.js 中的 Stream

一、流的初印象 流,顾名思义,是流体的。与固体不同,它具有流动性,可轻易分离。 想象这样一个场景,我们要处理一大桶数据。 情况一:待处理的数据被是一整个固体的形式,那么我们要获取它处理它都必须是一次性的。这是若程序只有一次性处理一个碗级别的数据的能力时,那么程序就崩溃了(内存溢出或未处理的数据丢失)。 情况二:待处理的数据是一桶水(流),那么我们可以一次只倒出一碗水,待程序将碗中的数据处理完毕,我们将这碗水清空,便可继续处理下一碗的数据了。 至此,我们已经对流有了一个初印象。但本文要说的流不是流式的数据, »

肖鸡 浏览量:0

聊一聊前端「同构」

一、什么是同构 同构是指同开发一个可以跑在不同的平台上的程序。例如开发一段 js 代码可以同时被基于 node.js 开发的 web server 和浏览器使用。本文中我们就要聊聊这种场景下,为什么以及怎么样开发一个同构的 web 应用。 二、同构带来的好处 我们不会平白无故地做出任何决策,大家使用同构肯定是因为同构能够带来一些好处: 减少代码开发量, 提高代码复用量。因为一份代码能同时跑在浏览器和服务器,因此不仅代码量减少了,而且很多业务逻辑不需要在浏览器和服务端两边同时维护,因而同时减小了程序出错的可能。 »

js 中异步的解决方案

callback 在 JavaScript 中函数是第一公民,可以做为参数传入函数中执行。所以我们可以把需要异步执行的代码放到回调函数中,然后在异步回调再执行这些代码。 Example 如下定义 delay 函数, callback 参数的类型是一个函数, 该函数会在1秒钟后执行。 function delay(callback) { console.log('foo'); setTimeout(callback, 1000); } delay(console.log. »