【2009-08-03】JavaScript 异步调用框架 (Part 1 - 问题 & 场景)
问题 在Ajax应用中,调用XMLHttpRequest是很常见的情况。特别是以客户端为中心的Ajax应用,各种需要从服务器端获取数据的操作都通过XHR异步调用完成。然而在单线程的JavaScri
【2009-08-03】JavaScript 异步调用框架 (Part 2 - 用例设计)
传递回调 我们首先要考虑的一个问题是,如何传递回调入口。在最传统的XHR调用当中,回调函数会被作为最后一个参数传递给异步函数: 复制代码 代码如下:function asyncOperation(
【2009-08-04】JavaScript 异步调用框架 (Part 3 - 代码实现)
类结构 首先我们来搭一个架子,把需要用到的似有变量都列出来。我们需要一个数组,来保存回调函数列表;需要一个标志位,来表示异步操作是否已完成;还可以学IAsyncResult,加一个state,允许
【2009-08-04】JavaScript 异步调用框架 (Part 4 - 链式调用)
现实开发中,要按顺序执行一系列的同步异步操作又是很常见的。还是用百度Hi网页版中的例子,我们先要异步获取联系人列表,然后再异步获取每一个联系人的具体信息,而且后者是分页获取的,每次请求发送10个联
【2009-08-04】JavaScript 异步调用框架 (Part 5 - 链式实现)
调用入口 链式调用存在Async.go方法和Async.chain方法两个入口,这两个入口本质上是一致的,只是Async.chain方法在调用时先不提供初始参数,而Async.go方法在调用时提供
【2009-08-04】javascript 支持链式调用的异步调用框架Async.Operation
复制代码 代码如下: Async = {}; Async.Operation = function(options) { options = options || {}; var callback
【2009-08-04】JavaScript 异步调用框架 (Part 6 - 实例 & 模式)
封装Ajax 设计Async.Operation的最初目的就是解决Ajax调用需要传递callback参数的问题,为此我们先把Ajax请求封装为Async.Operation。我在这里使用的是jQ
【2009-08-04】让JavaScript 轻松支持函数重载 (Part 1 - 设计)
JavaScript支持重载吗? JavaScript支持函数重载吗?可以说不支持,也可以说支持。说不支持,是因为JavaScript不能好像其它原生支持函数重载的语言一样,直接写多个同名函数,让
【2009-08-04】让 JavaScript 轻松支持函数重载 (Part 2 - 实现)
识别文本签名 我们先来回顾一下上一篇文章中提到的Overload用例: 复制代码 代码如下:var extend = Overload .add("*, ...", function(target
【2009-08-05】同一个表单 根据要求递交到不同页面的实现方法小结
JS 文件 复制代码 代码如下: <script language="javascript"> function submitAction(action_nm) { var targe