转载自:http://www.ruanyifeng.com/blog/2012/12/asynchronous%EF%BC%BFjavascript.html
"同步模式"就是上一段的模式,后一个任务等待前一个任务结束,然后再执行,程序的执行顺序与任务的排列顺序是一致的、同步的;
"异步模式"则完全不同,每一个任务有一个或多个回调函数(callback),前一个任务结束后,不是执行后一个任务,而是执行回调函数,后一个任务则是不等前一个任务结束就执行,所以程序的执行顺序与任务的排列顺序是不一致的、异步的。
从上面的blog直接拷贝的代码,不知道是不是有特殊字符,看起来貌似对的,一直提示unexptected token, 无奈只好自己手动打了一遍。以后从不规范的网页里拷贝代码要小心了
JavaScript-观察者模式(publish/subscribe)
http://blog.csdn.net/qiqingjin/article/details/51345542
观察者模式又叫做发布订阅模式,它定义了一种一对多的关系,让多个观察者对象同时监听某一个主题对象,这个主题对象的状态发生改变时就会通知所有观察着对象。它是由两类对象组成,主题publisher和观察者subscriber,主题负责发布publish事件,同时观察者通过订阅subscribe这些事件来观察该主体,发布者和订阅者是完全解耦的,彼此不知道对方的存在,两者仅仅共享一个自定义事件的名称。
在Nodejs中通过EventEmitter实现了原生的对于这一模式的支持。在JavaScript中事件监听机制就可以理解为一种观察者模式。
jquery的subscribe publish方式需要下载以下github项目里的dist/ba-tiny-pubsub.min.js
https://github.com/cowboy/jquery-tiny-pubsub
A really, really, REALLY tiny pub/sub implementation for jQuery.
网友评论