欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    什么是异步编程.pdf

    • 资源ID:76258717       资源大小:342.20KB        全文页数:6页
    • 资源格式: PDF        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    什么是异步编程.pdf

    什么是异步编程?异步编程是指由于异步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.js?它有哪些优势呢?1.性能:相对于多线程,异步I/O 没有了线程间的上下文切换开销,由此带来可观的性能提升是选择它的主要原因。2.成本:由于性能的提升,相同的硬件可以发挥更大的作用,变相的降低了运营成本,由于 node.js采用 javascript 作为开发语言,而 javascript的使用已经非常广泛,所以降低了node.js的学习成本。3.效率:node.js采用 javascript 作为开发语言,使前后端开发语言统一,不需要切换开发语言,使开发效率更高,加之javascript 使用者众多,使得node.js迅速的流行起来。Javascript普及度高也是 node.js 迅速发展的一种优势。不符合线性思维习惯虽然异步会带来很多好处,但是也衍生了很多问题。异步编程在流程控制中业务表达不太适合自然语言的线性思维习惯。实例-获取数据线性表达var data=getData(id);异步编程:getData(id,function(data)/在回调函数中才能获取到data数据);异常捕获异步 I/O 的实现主要有两个阶段,提交请求;处理结果;这两个阶段彼此不关联,而异常并不一定发生在请求提交(即调用函数)时,平常的try/catch并不能有效的捕捉到程序的异常。示例:try setTimeout(function()var data=a/1;/错误的计算 ,1000);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)test2(funciton(v1,function(v2)test3(function(v2,fcuntion(v3)test4(v3,function(v4)callback(v4);););););异步编程中,函数嵌套是一个普遍存在的问题,也因此常常被人诟病,如何解决函数嵌套,后面的课程将专门讲解这个问题。异步编程是学习node.js 的第一步什么是高阶函数高阶函数是异步编程的基础,那么什么是高阶函数呢?高阶二字听起来有点高大上的感觉,其实不然,高阶函数与普通函数不同的地方是高阶函数可以把函数作为参数,或者是将函数作为返回值,请看如下示例。示例:function test(v)return function()return v;示例中是一个最简单的高阶函数,如你所见,高阶函数test的返回值是一个匿名函数。定义一个高阶函数test,test有两个参数 a和 b,test返回一个将 a和 b 相加的匿名函数。function test(a,b)return function()return a+b;现实应用虽然有可能是第一次真正的去了解什么是高阶函数,但是其实我们在日常开发中经常会用到它,只是我们没有去留意或者说不知道它的称谓而已。示例:数组的排序(sort)函数var test=5,34,87,32,56,2,17;将数组 test按从大到小进行排序,并打印排序结果。偏函数什么是偏函数?假设有一个参数或变量已经预置的函数A,我们通过调用 A 来产生一个新的函数 B,函数 B 就是我们说的偏函数,有点拗口?请看示例:var isType=function(type)return function(obj)return toString.call(obj)=object+type+;var isString=isType(String);var isFunction=isType(Function);isType函数中预置了判断类型的方法,只指定部分参数来产生的新的定制的函数 isString 和 isFunction 就是偏函数。参考示例,定义一个判断数组类型的偏函数isArray(注意示例中 object 后的空格)。var isType=function(type)return function(obj)return toString.call(obj)=object+type+;var isArray=isType(Array);编写偏函数学习了偏函数,试一试编写一个简单的偏函数!Tom想编写一个函数 say,通过传入不同的 name参数,say函数可以创建出不同的偏函数,偏函数接受一个名为text 的参数,执行偏函数时,控制台输出格式为:name+say+text,请帮助 Tom编写 say函数,通过 say函数创建偏函数 tomSay,并调用 tomSay输出tom say hello。var say=function(name)return function(text)console.log(name+say+text);var tomSay=say(tom);tomSay(hello);课程小结高阶函数和偏函数是异步编程的基础,熟练运用高阶函数和偏函数是非常必要的。高阶函数1.函数作为参数;2.函数作为返回值;偏函数1.一个创建函数的工厂函数;2.通过指定部分参数,定制新的函数;

    注意事项

    本文(什么是异步编程.pdf)为本站会员(索****)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开