烈焰门户技术文章Ajax技术
阅读文章

Ajax之异步加载的优势

[日期: 2008-05-05 ] 来源:   作者: [字体: ]

Ajax之异步加载的优势

    Ajax所谓的异步加载,为何需要异步,可以说异步操作通常都是一个成熟的程序设计人员会尽力回避的东西。复杂度徒增,不好控制,容易出错。

    但是,这个问题放在浏览器上就是另外一个情形,浏览器上的脚本+事件通常只有一个线程。那些看是多线程的函数:setTimeout, setInterval,其实都不会插入或中断任何一个其他的在执行中的任务,而且一旦你的脚本尚在运行,那么不管你是否在挂起等待,所有的事件都将阻塞。窗口重画,拖动...也都得靠边站着,感觉就像是某个程序进入一个死循环了。

    以前得脚本都是做一些简单得事情,需要的时间,用户基本上都感觉不到,后来XMLHttpRequest的兴起,问题出来了,访问网络资源,你得受网速得限制,如果同步的获取,那你就等吧,等个几秒几分几十分的,不是不可能。这时浏览器可没那么聪明,站旁边傻等,什么窗口重画,移动啊,都装个没听见。

    浏览器傻了,用户可不傻,靠,这个网站咋的,吧我的浏览器都搞死了?加入黑名单,或者碰到个脾气好点的,把你辛辛苦苦、没日没夜、绵绵数月敲下来的脚本,一律禁止运行... 傻了把,可怜的脚本程序员。

    看似浏览器的问题嘛,可是,谁叫你是中年诸葛亮呢,扶不起的阿斗你也得背着,朽木上刻章方显你的出众嘛。于是异步操作遍地开花,第N次世界大乱从此开始。

    确实这里使用异步操作很有见成效,先告诉xmlhttp后台加载网络资源。一边凉快凉快,加载完了通知一下。喝喝茶,看看报,N+1秒钟过去了,报告: 001.xml全体元素集合完毕,帐前待命...,ok,..... (机密,隐藏...)。

    不错把,你不必焦急的盯着屏幕上所不期望的白大块,不用使劲的失望的拖动着没有的鼠标。你只需要东瞧瞧西瞅瞅,随意的打发点时间,一会,东西准备好了,归你了,爱怎么办就怎么办吧。

    没看明白?简单点说吧,就是把资源加载这一操作放在脚本线程之外,那么就不会有长时间运行的脚本,那么用户就觉得你的程序响应快。就是是说ajax,其实asynchronism也就这一个地方而已。

    记住一点,浏览器上单纯的脚本程序,本身是不支持多线程的,异步也就无从谈起,而现在所说的异步,都不是纯粹的ECMAScript,都是利用浏览器带有的某些原生对象实现的。

    雕虫小技而已,结果吹得鸡毛满天飞。众嘴纭纭之势,众目睽睽之下,公鸡下蛋,鲤鱼上坡,皆有可能。

阅读:
录入: ☆我就‰喜欢☆ 打印 错误报告
上一篇: Ajax 权衡:XML 的多种风格
下一篇: Oracle将开始支持Ajax和Flash
相关文章
本文评论(点击查看所有评论
发表评论
希望 寒冷 强悍 惊讶 开心 吃饭 恭喜 流泪 爱你 啊困 心碎
偷笑 咒骂 流汗 大哭 求爱 装酷 砖头 头晕 出气 呲牙 吸烟

点评:


  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规!
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任!
  • 本站管理人员有权保留或删除其管辖留言中的任意内容!
  • 本站有权在网站内转载或引用您的评论!
  • 参与本评论即表明您已经阅读并接受上述条款!
关于烈焰网 | 意见投诉 | 网站地图 | 联系方式 | Ajax技术
Copyright © 烈焰门户 www.Jvqq.Net.Cn All Rights Reserved 京ICP备07022601号