什么是异步编程.pdf
《什么是异步编程.pdf》由会员分享,可在线阅读,更多相关《什么是异步编程.pdf(6页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、什么是异步编程?异步编程是指由于异步I/O 等因素,无法同步获得执行结果时,在回调函数中进行下一步操作的代码编写风格,常见的如 setTimeout函数、ajax请求等等。示例:console.log(hi!);setTimeout(function()console.log(hello!);,1000);console.log(wow!);从示例中可以看到,hello 是在 wow 输出后才输出的,因为setTimeout函数设置了延迟 1000 毫秒才异步执行,function()console.log(hello);就是异步回调函数,这样的编程风格就是异步编程。优势为什么选择 node.
2、js?它有哪些优势呢?1.性能:相对于多线程,异步I/O 没有了线程间的上下文切换开销,由此带来可观的性能提升是选择它的主要原因。2.成本:由于性能的提升,相同的硬件可以发挥更大的作用,变相的降低了运营成本,由于 node.js采用 javascript 作为开发语言,而 javascript的使用已经非常广泛,所以降低了node.js的学习成本。3.效率:node.js采用 javascript 作为开发语言,使前后端开发语言统一,不需要切换开发语言,使开发效率更高,加之javascript 使用者众多,使得node.js迅速的流行起来。Javascript普及度高也是 node.js 迅速
3、发展的一种优势。不符合线性思维习惯虽然异步会带来很多好处,但是也衍生了很多问题。异步编程在流程控制中业务表达不太适合自然语言的线性思维习惯。实例-获取数据线性表达var data=getData(id);异步编程:getData(id,function(data)/在回调函数中才能获取到data数据);异常捕获异步 I/O 的实现主要有两个阶段,提交请求;处理结果;这两个阶段彼此不关联,而异常并不一定发生在请求提交(即调用函数)时,平常的try/catch并不能有效的捕捉到程序的异常。示例:try setTimeout(function()var data=a/1;/错误的计算 ,1000);
4、catch(e)console.log(e);因为计算并不会马上执行,所以即便是发生了错误,也无法捕获到相关信息,那么异步编程中应该如何处理异常的呢?请看示例2:setTimeout(function()try var data=a/1;/错误的计算 catch(e)console.log(e);,1000);异步编程中,异常的捕获方式也有所不同。函数嵌套刚刚接触 node.js的朋友们都有一个共同的烦恼,在进行较复杂的业务处理时,茫茫多的 callback 看得人头昏眼花,写着写着自己都糊涂了,更何况普遍患有强迫症的程序猿,面对如此难看的代码,如何能忍?test1(function(v1)t
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 什么是 异步 编程
限制150内