关于 ES6 中 Promise 在具体业务在发现一点问题,请指教。

本想实现在promise中检测一下reject是否有具体的实现 p.catch,这样我就能在没有实现p.catch的时候用统一的反馈方式。
但是尝试很多方法,没有实现这样的功能,大家遇到过吗?

const p = new Promise((resolve, reject) => {
    // 此处如何能预测一下 该类实例后没有实现 p.catch 方法
    // 尝试过 检测 if(reject) 是否为真,自以为只有实现了 catch后 reject才会变成真,结果失败。reject始终是函数(真)
})

// 只监听成功,不监听失败的时候,希望能有个统一反馈
p.then(()=>{
    //...
})
聪聆
讨论数量: 3
Hex

promise 有一个 finally 方法可以实现不管成功还是失败都调用,但是这里拿不到 promise 的结果。

我觉得可以换一种方式,如果 promise 是自己 new 的,可以只 resolve 不 reject,通过返回值判断成功失败也是可以的,具体问题具体分析。

4年前 评论
聪聆

@Hex 谢了! 我最终在实际业务中加了一个默认参数,毕竟需要自己做的错误处理比较少。当自己单独处理的时候就在请求中关闭提示。

file

4年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!