js异步编程

同步:指步骤再一个控制流序列中按照顺序执行
异步:一个异步过程的执行将不再与原有的序列由顺序关系,异步就是从主线程发射一个子线程来完成任务

promise:是一个ES6提供的类,目的是更加优雅的书写复杂的异步任务

构建Promise对象

new Promise(function (resolve,reject) {
//要做的事情。。。
})

Promise构造函数只有一个参数,是一个函数,这个函数在构造之后会直接被异步运行,所以被称为起始函数,起始函数包含两个参数resolve和reject.当Promise被构造时,起始函数会被异步执行;resolve和reject都是函数,其中resolve代表一切正常,reject是出现异常时所调用的。

Promise对象,代表一个异步操作,有三种状态:pending(进行中),resolve(已完成,又称fulfilled)和reject(已失败)

Promise类有.then(),.catch()和.finally()三个方法,这三个方法的参数都是一个函数,.then()可以将参数中的函数添加到当前Promise的正常执行序列,.catch()是设定Promise的异常处理程序,.finally(),是在Promise执行的最后一定执行的序列。.then()传入的函数会按顺序依次执行,有任何异常都会直接跳到cath序列
resolve()中可以放置一个参数用于向下一个then传递一个值,then中的函数也可以返回一个值传递给then。但是,如果then中返回的是一个Promise对象,那么下一个then将相当于对这个返回的Promise进行操作
reject()参数中一般会传递一个异常给之后的catch函数用于处理异常

你可能感兴趣的:(javascript前端)