promise 是为了解决异步操作的顺序问题而产生的
特性
promise 的实例一旦创建就会执行里面的异步操作
promise 的实例状态一旦改变就变成凝固的了, 无法再对其作出修改, (不明白为什么如此设计)
then 方法在所有的同步脚本执行完成之后才会执行
promise 会吞掉错误, 也就是内部的错误不影响外部的
在 primise中嵌套 promise, 里面的执行时间决定外面的执行时间
多个 then 是同步执行的, 后面的 then 会等待前面 then 的执行完成
实例方法
then 执行回调操作
catch 捕获错误, 应该就是处理错误的语法糖
finally 不论如何总是会执行的, 是 then 的特例
类(静态)方法
Promise.all 接受一个promise 实例的数组, 其结果依赖于数组中实例的状态, 都是 resolve的时候, promiseAll 实例才是 resolve
Promise.race 也是接受一个 promise 实例数组, 谁第一返回结果, 谁就决定 promiseAll的状态
Promise.resolve 把一个非 promise 对象转化为 promise 对象,
Promise.reject, 真没发现这个方法有啥存在的必要
Promise.try 可以让同步函数同步执行, 异步函数异步执行
Promise.catch 可以同时捕获同步和异步错误
原文地址:https://www.cnblogs.com/cgdx/p/10762788.html
时间: 2024-10-10 10:56:01