`

JavaScript异步编程学习

阅读更多
一 JavaScript学习资源
1、Reg Braithwaite Captain Obvious on Javascript (http://raganwald.com/2014/05/30/repost-captain-obvious.html
2、交互式教程网站 https://www.codecademy.com/
3、交互式Jquery空中学堂 https://www.codeschool.com
4、JavaScript正式介绍 http://.github.io/JavaScript-Garden/
6、求助网站 https://developer.mozilla.orgeloquentjavascript.net/
5、JavaScript初学者 http://bonsaiden
7、开发者社区 http://stackoverflow.com/
8、腾讯公司IMWeb团队 https://github.com/imweb
9 jquery文档:http://www.css88.com/jqapi-1.9/

二  PubSub(发布订阅)模式
1、http://imweb.io/topic/565dde4d4c460c2f5385b955
2、http://www.itxueyuan.org/view/6931.html
3、在jQuery1.7 中将它们抽象为$.Callbacks

三 Promise & Deferred对象(合并多异步回调及结果),可用它代替回调
1、Promises是一种令代码异步行为更加优雅的抽象,可能是下一个编程范式,一个Promise即表示任务结果,无论该任务是否完成。
2、http://www.csdn.net/article/2013-08-12/2816527-JavaScript-Promise
3、http://www.cnblogs.com/my_front_research/p/3228333.html
4、使用$.when()同步并行任务
var servdata = {};
 var promiseOne = $.ajax({ url: '../1.json' });
 var promiseTwo = $.ajax({ url: '../2.json' });  
 promiseOne.done(function (result) {
	console.log('PromiseOne Done');
	servdata['1']=result;
 });
 promiseTwo.done(function (result) {
	console.log('PromiseTwo Done');
	servdata['2']=result;
 });      
 $.when(promiseOne,promiseTwo)
 .done(function () {
    console.log('promiseOne and promiseTwo are done');
	//数据已准备好了
 }).fail(function () {
    console.log('One of our promises failed');
 });

5、管道连接未来(pipe,http://www.css88.com/jqapi-1.9/deferred.pipe/
 var request = $.ajax( url, { dataType: "json" } ),
chained = request.pipe(function( data ) {
  return $.ajax( url2, { data: { user: data.userId } } );
}); 
chained.done(function( data ) {
  // data retrieved from url2 as provided by the first request
});


四 Async.js工作流控制(处理异步js的工具包,代替库:https://github.ocm/crationix/step
1、异步工作流的次序问题
2、异步的数据收集方式
3、任务组织技术
4、异步工作流的的动态排除技术
5、step的工作流控制方式

五 worker对象的多线程技术
1、网页版的worker对象,它是H5的一部分

六 异步的脚本加载
1、H5的async/defer作用
2、defer是等待文档加载有序排除场景
3、async无序运行
4、推荐使用:defer
5、向Dom插入script标签
6、yepnope.js(http://yepnopejs.com/)是一个能够根据输入条件来选择性异步加载资源文件的js脚本,可以在页面上仅加载用户需要的js/css
示例:(https://www.uedsc.com/yepnope-js.html
yepnope([{ 
test : /* boolean(ish) - 你要检查真伪的表达式 */, 
yep : /* array (of strings) | string - test为true时加载这项 */, 
nope : /* array (of strings) | string - test为false时加载这项 */, 
both : /* array (of strings) | string - 什么情况下都加载 */, 
load : /* array (of strings) | string - 什么情况下都加载 */, 
callback : /* function ( testResult, key ) | object { key : fn } 当某个url加载成功时执行相应的方法 */, 
complete : /* function 都加载完成了执行这个方法 */ 
}, ... ]); 

7、Require.js/AMD智能加载






分享到:
评论

相关推荐

    JavaScript异步编程g.pdf

    JavaScript异步编程是前端开发领域中的一个重要概念,它允许程序在等待长时间操作(如网络请求)时继续执行其他任务,而不是简单地暂停或停止,从而提升用户体验。本书《JavaScript异步编程》作为图灵程序设计丛书的...

    Javscript高性能编程+Javascript异步编程

    "JavaScript高性能编程"和"JavaScript异步编程"是两个关键的JavaScript专题,对于提升应用程序的性能和用户体验至关重要。 一、JavaScript高性能编程 1. **优化代码执行效率**:了解JavaScript引擎的工作原理,如...

    《JavaScript异步编程》PDF版本下载.txt

    ### JavaScript异步编程知识点概述 #### 一、异步编程概念 在JavaScript中,异步编程是一种处理长时间运行操作而不阻塞主线程的方法。这种方式允许程序在等待某些操作(如I/O操作、网络请求等)完成的同时,继续...

    JavaScript设计模式+JavaScript模式+JavaScript异步编程

    3. **JavaScript异步编程**: 异步编程是JavaScript的重要特性,用于处理耗时操作,如网络请求和文件读写,以避免阻塞主线程。主要方法有: - 回调函数:最基础的异步处理方式,但可能导致回调地狱问题。 - 事件...

    前端开发、JavaScript、asyncawait、异步编程、异常处理,学习JavaScript异步编程

    JavaScript中的异步编程是Web前端开发的核心技能,而async/await是现代JavaScript处理异步操作的一种优雅方式。这个模式使得代码更加清晰、易于理解和维护,尤其对于初学者来说,掌握async/await能大大提高开发效率...

    JavaScript 异步编程:基本指南.docx

    本文将深入讲解JavaScript异步编程的基础和高级概念,帮助开发者理解并掌握这一核心技能。 1. **异步编程的基本概念** 在JavaScript中,异步编程意味着某些操作不会阻塞程序的执行,而是以非阻塞的方式进行。这是...

    JavaScript异步编程

    JavaScript异步编程是Web开发中的核心概念,尤其在构建高性能、响应式的用户界面时不可或缺。JavaScript作为单线程语言...通过阅读《JavaScript异步编程》这本书,你将深入学习到这些知识,并掌握异步编程的最佳实践。

    从回调函数到 AsyncAwait:JavaScript 异步编程进阶指南.pdf

    ### JavaScript异步编程知识点 #### 一、异步编程基础概念 - **定义**:异步编程是指在程序运行过程中,某段代码不阻塞主线程执行其他任务的能力。这在处理耗时操作如网络请求、文件读写时尤为重要。 - **同步与...

    JavaScript高级编程 pdf

    4. **异步编程**:JavaScript是单线程执行的,因此异步处理(如回调函数、Promise、async/await)对于处理I/O操作和避免阻塞至关重要。 5. **模块系统**:了解CommonJS、AMD和ES6模块,以及如何在Node.js环境中组织...

    Javacripts异步编程课件

    为了解决回调函数的缺陷,现代JavaScript异步编程提供了新的解决方案,其中`Generator`函数是一个非常重要的概念。`Generator`函数允许暂停和恢复执行,从而允许异步任务能够像同步代码那样被编写和理解。这样,...

    浅谈JavaScript异步编程

    要深入理解JavaScript异步编程,首先需要了解几个基础概念。 一、异步编程的基础概念 在传统同步编程模式中,代码按照编写顺序依次执行,每条语句必须等待前一条语句执行完毕后才能开始执行。然而,在异步编程模式...

    详谈javascript异步编程

    在学习javascript异步编程的过程中,我们首先要明确异步编程的含义以及它在JavaScript中的重要性。异步编程,顾名思义,是一种不等待某任务完成即可继续执行后续代码的编程模式。在JavaScript中,异步编程能够帮助...

    深入理解JavaScript异步

    JavaScript异步编程是Web开发中的核心概念,尤其在构建高性能、响应式的网页应用时不可或缺。深入理解这一主题,对于任何JavaScript开发者来说都是至关重要的。在这个教程中,我们将探索JavaScript异步处理的各个...

    javascript网络编程基础教程

    总的来说,"javascript网络编程基础教程"将涵盖以上所述的各个方面,帮助学习者建立起坚实的JavaScript网络编程基础,从而能够构建功能强大的交互式Web应用。通过深入学习和实践,开发者不仅可以掌握基本的网络请求...

    Javascript时尚编程百例

    此外,异步编程是JavaScript中的另一个关键话题。在JavaScript时尚编程百例中,你可能会看到Promise、async/await、事件循环和回调函数的应用,这些都是处理非阻塞I/O操作的关键。通过实例,你可以学习如何优雅地...

    JavaScript DOM编程艺术【第2版&高清】.pdf

    6. DOM编程实践:通过实例演示如何使用JavaScript的DOM API来实现各种动态网页效果,比如创建动态的导航菜单、表单验证、内容的异步加载(AJAX)等。 7. 高级DOM技术:随着对DOM操作的深入,还可以学习到如何利用...

    详谈nodejs异步编程

    Node.js异步编程是利用JavaScript的异步编程能力,处理在服务器端可能出现的大量I/O操作而不阻塞执行线程的技术。在Node.js环境中,由于其单线程的特性,异步编程尤为重要,它使得程序能够以非阻塞的方式执行I/O操作...

Global site tag (gtag.js) - Google Analytics