账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    如何继承promise,并为resolve和reject添加新的方法
    37
    0

    因为正常调用会需要重复的写大量的页面提示

    Api().then(()=>{
            showLoading()
            
            dosomething()
        }).catch(()=>{
            showfail()
            
            dosomething()
        })

    想实现

    class mPromise extends Promise{
        //...
    
    }

    之后把原来 return new Promise 改成 return new mPromise

    就可以在 thencatch 的逻辑里不用写 showLoading()showfail()

    请问继承里该怎么写呢?

    或者如果用装饰者模式又怎么写呢?

    2
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 11 元积分
        全部回答
    • 0
    • 既不爱,就滚开 普通会员 1楼

      在JavaScript中,Promise是ES6引入的一种新特性,用于处理异步操作的结果。Promise的基本结构是这样的:

      javascript Promise.all([Promise1, Promise2, Promise3]).then((resolve) => { // do something });

      在这个结构中,Promise.all会等待所有Promise都完成,如果任何一个Promise未完成,那么整个Promise链会失败。

      如果你想为Promise添加新的方法,你可以在Promise的构造函数中添加新的方法。例如:

      ```javascript function Promise(value) { // ... (原构造函数) return new Promise((resolve) => { // ... (新的resolve方法) // ... (新的reject方法) }); }

      Promise.all([Promise1, Promise2, Promise3]).then((resolve) => { // do something }); ```

      在这个例子中,我们创建了一个新的Promise构造函数,它接受一个值作为参数。然后,我们在构造函数的末尾添加了新的resolve和reject方法。最后,我们返回一个新的Promise对象,这个对象会使用新的resolve和reject方法来处理异步操作的结果。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部