产品世界当前位置:菲娱2国际 > 产品世界 > >

菲娱国际注册:详谈nodejs异步编程

  

[nodejs,异步编程]详谈nodejs异步编程

  

目前需求中涉及到大量的异步操作,实际的页面越来越倾向于单页面应用。以后可以会使用backbone、angular、knockout等框架,但是关于异步编程的问题是首先需要面对的问题。随着node的兴起,异步编程成为一个非常热的话题。经过一段时间的学习和实践,对异步编程的一些细节进行总结。

  
  

  

1.异步编程的分类  

  

解决异步问题方法大致包括:直接回调、pub/sub模式(事件模式)、异步库控制库(例如async、when)、promise、Generator等。

  
  1.1 回调函数  

  

回调函数是常用的解决异步的方法,经常接触和使用到,易于理解,并且在库或函数中非常容易实现。这种也是大家接使用异步编程经常使用到的方法。

  

  

但是回调函数的方式存在如下的问题:  

  

1. 可能形成万恶的嵌套金字塔,代码不易阅读;  

  

2. 只能对应一个回调函数,在很多场景中成为一个限制。

  

  

1.2 pub/sub模式(事件)  

  

该模式也称为事件模式,是回调函数的事件化,在jQuery等类库中非常常见。

  

  

事件发布订阅者模式本身并无同步与异步调用的问题,但是在node中,emit调用多半是伴随事件循环而异步触发的。该模式常用来解耦业务逻辑,事件发布者无须关注注册的回调函数,也不用关注回调函数的个数,数据通过消息的方式可以很灵活的传递。

  

  

该模式的好处是:1. 便于理解;2. 不再局限于一个回调函数。

  

  

不好的地方时:1. 需要借助类库; 2.事件与回调函数的顺序很重要  

  

代码如下: (责任编辑:admin)

上一篇:菲娱国际平台:Bootstrap面板使用方法

下一篇:没有了

推荐内容

客户服务热线

010-400-12345

在线客服