博客
关于我
promise总结
阅读量:796 次
发布时间:2023-03-04

本文共 972 字,大约阅读时间需要 3 分钟。

new Promise(    // 执行器    function (resolve, reject) {        // 一段耗时很长的异步操作        resolve(); // 数据处理完成        reject(); // 数据处理出错    }).then(function A() {        // 成功    }, function B() {        // 失败    });

Promise有三个状态:

pending 初始状态
fulfilled 操作成功
rejected 操作失败
Promise一经创建,立刻开始执行。
每个.then()可以返回一个新的Promise实例,所以可以链式调用,也可以返回其他值或者返回空。
这里要注意,如果返回新的Promise,下一级的.then会在新的Promise状态改变之后再执行。如果返回其他任何值,则会直接执行.then,不等待上一个.then的Promise的执行结果。
如果上一个函数返回fulfilled状态,则执行.then里的第一个成功回调函数。如果返回rejected状态,则执行失败回调。
promise错误处理
方法一:reject('错误信息').then(null, message => {});
方法二:throw new Error('错误信息').catch(message => {};) 推荐第二种

转载于:https://www.cnblogs.com/wuyuchao/p/8615875.html

你可能感兴趣的文章
Quant 开源项目教程
查看>>
POJ 1088 滑雪
查看>>
POJ 1095 Trees Made to Order
查看>>
POJ 1113 Wall(计算几何--凸包的周长)
查看>>
poj 1125Stockbroker Grapevine(最短路)
查看>>
poj 1151 (未完成) 扫描线 线段树 离散化
查看>>
POJ 1151 / HDU 1542 Atlantis 线段树求矩形面积并
查看>>
poj 1163 数塔
查看>>
POJ 1177 Picture(线段树:扫描线求轮廓周长)
查看>>
POJ 1182 食物链(并查集拆点)
查看>>
POJ 1185 炮兵阵地 (状态压缩DP)
查看>>
POJ 1195 Mobile phones
查看>>
POJ 1228 Grandpa's Estate (稳定凸包)
查看>>
poj 1236(强连通分量分解模板题)
查看>>
poj 1258 Agri-Net
查看>>
poj 1286 Necklace of Beads
查看>>
POJ 1321 棋盘问题
查看>>
poj 1321(回溯)
查看>>
Qt读取注册表默认值
查看>>
poj 1679 判断MST是不是唯一的 (次小生成树)
查看>>