Ajax基石脚本异步并发调用参数传递
2006-03-10 19:10
501 查看
在Ajax开发框架中,最基本的划分是服务器端和客户端。服务器端相对来说比较简单,只要是可以开发动态网页的语言都可以胜任;客户端浏览器就是JScript/JavaScript的天下了,好像没有看到有VBScript做的Ajax客户端库,就算它只支持IE。由于客户端依赖于脚本并运行在浏览器中,似乎比服务器端的可实现和可管理性还要差些。
这里我说一下Ajax中的A, Asynchronous调用的一些问题。如果我们在异步调用时不为方法传递任何的参数,那么这个问题也就简单甚至不存在了。但是事实上,我们开发一些稍微复杂些的功能时,对于"脚本异步并发调用参数传递"这个功能是很需要的。说的严重些,可以把这个功能看成Ajax客户端框架能否真正Asynchronous的基石。对于异步调用参数传递的问题,可以看我以前的一篇文章"使用匿名函数为setInterval传递参数"。虽然文中的示例很好地解决了参数传递问题,但是我们看看下面的示例,看会发现什么呢?
function foo()
function intervalRun(times)
function foo()
function doTick()
function GetTick(tick)
function doTick()
{
var tick = new Date().getTime();
var foo = function()
{
var __tick = foo.params[0];
GetTick(__tick);
};
foo.params = [tick];
window.setTimeout(foo, 0);
}
由于内嵌函数构造出一个Closure Scope,它将帮组我们保存参数的Context,使我们获得真正的"异步并发调用参数传递"效果。
注意:Closure Scope是JScript编程中危险的高级技术,使用不当极易造成IE Memory Leak。
这里我说一下Ajax中的A, Asynchronous调用的一些问题。如果我们在异步调用时不为方法传递任何的参数,那么这个问题也就简单甚至不存在了。但是事实上,我们开发一些稍微复杂些的功能时,对于"脚本异步并发调用参数传递"这个功能是很需要的。说的严重些,可以把这个功能看成Ajax客户端框架能否真正Asynchronous的基石。对于异步调用参数传递的问题,可以看我以前的一篇文章"使用匿名函数为setInterval传递参数"。虽然文中的示例很好地解决了参数传递问题,但是我们看看下面的示例,看会发现什么呢?
function foo()
function intervalRun(times)
function foo()
function doTick()
function GetTick(tick)
function doTick()
{
var tick = new Date().getTime();
var foo = function()
{
var __tick = foo.params[0];
GetTick(__tick);
};
foo.params = [tick];
window.setTimeout(foo, 0);
}
由于内嵌函数构造出一个Closure Scope,它将帮组我们保存参数的Context,使我们获得真正的"异步并发调用参数传递"效果。
注意:Closure Scope是JScript编程中危险的高级技术,使用不当极易造成IE Memory Leak。
相关文章推荐
- Ajax基石脚本异步并发调用参数传递
- Ajax基石:脚本异步并发调用参数传递
- 艾伟:Ajax基石脚本异步并发调用参数传递
- Ajax基石脚本异步并发调用参数传递
- Ajax基石:脚本异步并发调用参数传递
- 艾伟:Ajax基石脚本异步并发调用参数传递
- Ajax基石脚本异步并发调用参数传递
- jQuery之异步Ajax请求使用 通过传递参数来调用后台方法返回状态
- 在用ajax调用时在xx.ashx后传递参数,根据传递的参数值的不同,调用xx.ashx中相应的方法
- shell调用python脚本,并且向python脚本传递参数
- 关于ASP.NET 中使用Ajax进行异步调用问题,前台参数无法跳转到后台,提示500 internal server error
- jquery中通过ajax调用webservice传递数组参数的问题
- java调用shell脚本并传递参数
- shell调用php脚本,并传递参数
- jQuery中通过ajax调用webservice传递数组参数的问题实例详解
- Shell脚本通过参数传递调用指定函数
- jquery中通过ajax调用webservice传递数组参数的问题
- Asp.net ajax 调用WebService 用userContext 传递不了参数的错误
- shell调用php脚本,并传递参数
- java 直接调用python脚本,并传递参数