JavaScript Promise
Promise 只不过是一种更良好的编程风格。
当需要多次顺序执行异步操作的时候,例如,如果想通过异步方法先后检测用户名和密码,需要先异步检测用户名,然后再异步检测密码的情况下就很适合 Promise:
构造 Promise:
Promise 构造函数只有一个参数,是一个函数,这个函数在构造之后会直接被异步运行,称之为起始函数。
起始函数包含两个参数 resolve 和 reject,其中调用 resolve 代表一切正常,reject 是出现异常时所调用
- resolve 和 reject 的作用域只有起始函数,不包括 then 以及其他序列;
- resolve 和 reject 并不能够使起始函数停止运行,别忘了 return。
Promise 类有 .then() .catch() 和 .finally() 三个方法,这三个方法的参数都是一个函数:
then():传入的函数会按顺序依次执行,有任何异常都会直接跳到 catch 序列
catch():异常处理序列
finally():最后一定会执行的序列
异步函数:async
如果 Promise 有一个正常的返回值,await 语句也会返回: