浅谈JS中的异步(一)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
浅谈JS中的异步
XX老师瞎讲异步系列1
2018/1/29
提问
什么是异步?为什么我们需要异步?
2018/1/29
异步
"同步模式"这个大家应该很熟悉了,就是上一段的模式,后一个任务等 待前一个任务结束,然后再执行,程序的执行顺序与任务的排列顺序是 一致的、同步的;"异步模式"则完全不同,每一个任务有一个或多个回 调函数(callback),前一个任务结束后,不是执行后一个任务,而是 执行回调函数,后一个任务则是不等前一个任务结束就执行,所以程序 的执行顺序与任务的排列顺序是不一致的、异步的。 "异步模式"非常重要。在浏览器端,耗时很长的操作都应该异步执行, 避免浏览器失去响应,最好的例子就是Ajax操作。在服务器端,"异步 模式"甚至是唯一的模式,因为执行环境是单线程的,如果允许同步执 行所有http请求,服务器性能会急剧下降,很快就会失去响应。
THANK YOU
2018/1/29
2018/1/29
观察者模式
观察者模式是啥玩意?
能吃么?
2018/1/29
观察者模式
观察者模式又叫做发布订阅模式,它 定义了一种一对多的关系,让多个观 察者对象同时监听某一个主题对象, 这个主题对象的状态发生改变时就会 通知所有观察着对象。它是由两类对 象组成,主题和观察者,主题负责发 布事件,同时观察者通过订阅这些事 件来观察该主体,发布者和订阅者是 完全解耦的,彼此不知道对方的存在, 两者仅仅共享一个自定义事件的名称。
2018/1/29
异步的好处
2018Байду номын сангаас1/29
js异步编程
回调函数
观察者模式
事件监听
promise
2018/1/29
回调函数
什么是回调函数?
能干啥?
2018/1/29
回调函数 在js中代码会至上而下一条线执行下去,但是有时候我 们需要等到一个操作结束之后再进行下一个操作,这时 候就需要用到回调函数。因为函数实际上是一种对象, 它可以存储在变量中,通过参数传递给另一个函数,在 函数内部创建,从函数中返回结果值”,因为函数是内 置对象,我们可以将它作为参数传递给另一个函数,到 函数中执行,甚至执行后将它返回
事件监听
这个我知道!
哈哈哈!
2018/1/29
事件监听
事件监听是充分利用js的事件驱动机制,dom事件的发生 都是未知的,大部分由用户操作去触发,任务的执行不取 决于代码的顺序,而取决于某个事件是否发生。这种方法 的优点是比较容易理解,可以绑定多个事件,每个事件可 以指定多个回调函数,而且可以"去耦合"(Decoupling), 有利于实现模块化。缺点是整个程序都要变成事件驱动型, 运行流程会变得很不清晰。
promise
ES6的内置对象
异步操作!说来就来!
2018/1/29
promise
Promise是异步编程的一种解决方案,它有三种状态,分别 是pending-进行中、resolved-已完成、rejected-已失败,当 Promise的状态又pending转变为resolved或rejected时,会 执行相应的方法,并且状态一旦改变,就无法再次改变状态, 这也是它名字promise-承诺的由来。Promises是CommonJS 工作组提出的一种规范,目的是为异步编程提供统一接口。 简单说,它的思想是,每一个异步任务返回一个Promise对 象,该对象有一个then方法,允许指定回调函数。
XX老师瞎讲异步系列1
2018/1/29
提问
什么是异步?为什么我们需要异步?
2018/1/29
异步
"同步模式"这个大家应该很熟悉了,就是上一段的模式,后一个任务等 待前一个任务结束,然后再执行,程序的执行顺序与任务的排列顺序是 一致的、同步的;"异步模式"则完全不同,每一个任务有一个或多个回 调函数(callback),前一个任务结束后,不是执行后一个任务,而是 执行回调函数,后一个任务则是不等前一个任务结束就执行,所以程序 的执行顺序与任务的排列顺序是不一致的、异步的。 "异步模式"非常重要。在浏览器端,耗时很长的操作都应该异步执行, 避免浏览器失去响应,最好的例子就是Ajax操作。在服务器端,"异步 模式"甚至是唯一的模式,因为执行环境是单线程的,如果允许同步执 行所有http请求,服务器性能会急剧下降,很快就会失去响应。
THANK YOU
2018/1/29
2018/1/29
观察者模式
观察者模式是啥玩意?
能吃么?
2018/1/29
观察者模式
观察者模式又叫做发布订阅模式,它 定义了一种一对多的关系,让多个观 察者对象同时监听某一个主题对象, 这个主题对象的状态发生改变时就会 通知所有观察着对象。它是由两类对 象组成,主题和观察者,主题负责发 布事件,同时观察者通过订阅这些事 件来观察该主体,发布者和订阅者是 完全解耦的,彼此不知道对方的存在, 两者仅仅共享一个自定义事件的名称。
2018/1/29
异步的好处
2018Байду номын сангаас1/29
js异步编程
回调函数
观察者模式
事件监听
promise
2018/1/29
回调函数
什么是回调函数?
能干啥?
2018/1/29
回调函数 在js中代码会至上而下一条线执行下去,但是有时候我 们需要等到一个操作结束之后再进行下一个操作,这时 候就需要用到回调函数。因为函数实际上是一种对象, 它可以存储在变量中,通过参数传递给另一个函数,在 函数内部创建,从函数中返回结果值”,因为函数是内 置对象,我们可以将它作为参数传递给另一个函数,到 函数中执行,甚至执行后将它返回
事件监听
这个我知道!
哈哈哈!
2018/1/29
事件监听
事件监听是充分利用js的事件驱动机制,dom事件的发生 都是未知的,大部分由用户操作去触发,任务的执行不取 决于代码的顺序,而取决于某个事件是否发生。这种方法 的优点是比较容易理解,可以绑定多个事件,每个事件可 以指定多个回调函数,而且可以"去耦合"(Decoupling), 有利于实现模块化。缺点是整个程序都要变成事件驱动型, 运行流程会变得很不清晰。
promise
ES6的内置对象
异步操作!说来就来!
2018/1/29
promise
Promise是异步编程的一种解决方案,它有三种状态,分别 是pending-进行中、resolved-已完成、rejected-已失败,当 Promise的状态又pending转变为resolved或rejected时,会 执行相应的方法,并且状态一旦改变,就无法再次改变状态, 这也是它名字promise-承诺的由来。Promises是CommonJS 工作组提出的一种规范,目的是为异步编程提供统一接口。 简单说,它的思想是,每一个异步任务返回一个Promise对 象,该对象有一个then方法,允许指定回调函数。