Node.js 异步编程之 Callback的问题

在上一篇中,我们使用 Callback 的方式来实现了我们需求,将一个 IP 列表转换成了具体的城市和天气。可以看出回调嵌套并不是 Callback 作为异步处理方案的真真问题。那正真的问题是什么呢? 可靠性上篇文章发出来,就被 @朴灵 吐槽,我还浑然不知。看上一篇文章中的这段代码: try { data = JSON.parse(data) callback(null, data) } catch (error) { ca

阅读

Node.js 异步编程之 Callback

Node.js 基于 JavaScript 引擎 v8,是单线程的。Node.js 采用了与通常 Web 上的 JavaScript 异步编程的方式来处理会造成阻塞的I/O操作。在 Node.js 中读取文件、访问数据库、网络请求等等都有可能是异步的。对于 Node.js 新人或者从其他语言背景迁移到 Node.js 上的开发者来说,异步编程是比较痛苦的一部分。本章将由浅入深为大家讲解 Node.js 异步编程的方方面面。从最基础的

阅读

前端模块化杂谈

在模块化方面,Node.js就显得游刃有余。 作为用户,我们把代码放到一个个JavaScript文件中,然后Node.js就有一套规则帮我们把这些代码组织起来,Node.js还有包的概念,于是我们就可以使用npm将代码放到一个个包中,放到这里那里的node_modules中使用。很方便不是?感谢Node.js。 可在浏览器端,模块化这事就没那么简单了。 前端的模块前端的一个模块包含很多东西,JavaScript、CSS、图片字体等等。甚

阅读

CoffeeScript编译器(一)

CoffeeScript越来越流行,接触CoffeeScript也已经一年有余,最近正在看它的编译器实现,在这里把体会记录下来。 目前,CoffeeScript编译器是使用CoffeeScript编写的,很多人会问,这是蛋生鸡呢,还是鸡生蛋?其实CoffeeScript编译器最初是使用Ruby编写的,CoffeeScript团队于2010年2月21号发布了v0.5.0,使用CoffeeScript重写了编译器。 CoffeeScript

阅读

豆瓣阅读《CoffeeScript小书》上架啦!

今天D2,豆瓣的石岩给我们带来豆瓣阅读在开发方面的心得,有一张PPT还用到了上周我在豆瓣阅读上架的一本书《CoffeeScript小书》。其实就是本博之前翻译的the-little-book-on-coffeescript的中文合集。 豆瓣阅读的体验真的很不错,这是本书在豆瓣阅读Web版上的一张预览图: 在其他平台上,比如说Android,iPad,Kindle Fire上体验也很好。大家可以访问《CoffeeScript小书》试读,

阅读

可选择样式表

可选择样式表这个问题,有点绕,之前看懂了,后来忘记,现在就把它记下来。 这个问题与样式表的rel和title属性的值和组合有关: 1.默认样式表,指定rel属性为stylesheet,会在页面上一直存在的样式,不受用户选择其他可选择样式表的影响: <link href=”default.css” rel=”stylesheet” type=”text/css”> 2.可选择默认样式表,指定rel属性为stylesheet,指

阅读

MDC上是如何实现bind函数的

在平时开发过程中想必都有把函数绑定到某个上下文 this 上 JavaScript 1.8.5 中引入了 Function.prototype.bind 来满足这个需求今天就来说一说这个函数 什么时候使用 bind 函数 先看这个例子: $(function() { var me; me = { name: "mee" init: function() { this.bind(); }

阅读

《深处浅出 CoffeeScript》译者序

The golden rule of CoffeeScript is: “It’s just JavaScript”.——coffeescript.org CoffeeScript的作者Jeremy Ashkenas在twitter上有个很好笑的段子: 他说:“我非常想知道在GitHire上有多少人有五年的CoffeeScript经验,很显然我有很多地方需要向他们学习。” 有人答道:“对的,这些人大概是在一边煮咖啡,一边写脚本”。

阅读

互联网的缔造者们:Brendan Eich与JavaScript

本文译自:INNOVATORS OF THE NET: BRENDAN EICH AND JAVASCRIPT,最近因为别的事情从网上搜出来这篇文章,该篇文章是对 JavaScript 之父 Brendan 的采访翻译出来为大家揭开真实的 JavaScript 出生的故事。当然该文已与其他采访集结出版中译本为《编程人生》,请原谅该文翻译得比较粗糙。 Brendan 的技术很牛,眼界宽广,表达能力也非常强,因此在 Netscape 内部

阅读

JavaScript 的私有属性和方法

在JavaScript中谈私有属性和私有方法就是扯淡,”private”还杵在保留字的位置上,不知道什么时候提上来实现真正的私有。那今天咱就来讨论下如何以JS当前的特性来实现私有成员。 闭包(比较枯燥,可以跳过本单元)JavaScript实现私有属性必须依赖闭包特性(可以先通过该链接补习)。下面也稍微补习下,看下面的例子: var uniqueId; uniqueId = (function() { var index; ind

阅读