一、同步和异步模式的理解
同步模式:程序的执行顺序和任务排列顺序一致,一次只完成一个任务,多任务时候要排队,前面的任务执行完毕才执行后面的任务,耗时长,造成浏览器无响应。
同步一定程度上可以看成单线程的,这个线程强求一个方法后就等待回复,否则不往下执行。同步会阻塞程序。
异步模式:程序的执行顺序和任务的排列顺序不一致,异步的。每个任务有一个或者多个回调函数,前一个任务执行完毕,执行回调函数,后一个任务也不是等待前面的任务执行完毕才执行。
异步可以看成多线程的,请求一个方法后就不管了,继续执行其他的方法。
二、常见的异步编程模式
1.回调函数 (f1,f2两个函数,f2要等f1执行完毕后执行,即f1(f2))
2.发布——订阅模式
3.promise对象实现
三、什么是promise
promise对象表示异步操作的最终状态和返回的值。
promise对象存放将来要做的事情,如果成功就返回成功要做的事情,如果失败就返回失败要做的事情。
四、promise的好处
可以将异步操作以同步操作的流程表达出来。避免了层层嵌套的回调函数。promise提供统一接口,能容易控制异步操作。
特点:1.对象的状态不受外界影响 2.一旦状态改变,就不会再变,任何时候都返回这个结果
五、promise用法
promise构造函数接受一个函数作为参数,该函数可以有两个参数。