关于 ES6 中 Promise 在具体业务在发现一点问题,请指教。
本想实现在promise中检测一下reject是否有具体的实现 p.catch,这样我就能在没有实现p.catch的时候用统一的反馈方式。
但是尝试很多方法,没有实现这样的功能,大家遇到过吗?
const p = new Promise((resolve, reject) => {
// 此处如何能预测一下 该类实例后没有实现 p.catch 方法
// 尝试过 检测 if(reject) 是否为真,自以为只有实现了 catch后 reject才会变成真,结果失败。reject始终是函数(真)
})
// 只监听成功,不监听失败的时候,希望能有个统一反馈
p.then(()=>{
//...
})
:sweat_smile:建议先看一下这个
http://es6.ruanyifeng.com/#docs/promise
promise 有一个 finally 方法可以实现不管成功还是失败都调用,但是这里拿不到 promise 的结果。
我觉得可以换一种方式,如果 promise 是自己 new 的,可以只 resolve 不 reject,通过返回值判断成功失败也是可以的,具体问题具体分析。
@Hex 谢了! 我最终在实际业务中加了一个默认参数,毕竟需要自己做的错误处理比较少。当自己单独处理的时候就在请求中关闭提示。