请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

我看你的没报错,但我写的时候也有个报

 let promise = Promise.resolve(config)
     while(chain.length) {
       // 因为数组 shift 函数的返回值类型是 T | undefined,所以要做非空断言
       const {resolved, rejected} = chain.shift()! // 类型断言 不为空
       promise = promise.then(resolved, rejected)
     }


    return promise as AxiosPromise;

因为报错 我加了个as 类型断言。。

你的不需要as断言。。

正在回答 回答被采纳积分+3

1回答

ustbhuangyi 2020-04-19 09:12:08

如果不加 as 报错,是报了什么错?

0 回复 有任何疑惑可以回复我~
  • 提问者 旋涡鸣人_ #1
    let promise: Promise<AxiosRequestConfig>
    不能将类型“Promise<AxiosRequestConfig>”分配给类型“AxiosPromise<any>”。
      属性“then”的类型不兼容。
        不能将类型“<TResult1 = AxiosRequestConfig, TResult2 = never>(onfulfilled?: ((value: AxiosRequestConfig) => TResult1 | PromiseLike<TResult1>) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike<...>) | ... 1 more ... | undefined) => Promise<...>”分配给类型“<TResult1 = AxiosResponse<any>, TResult2 = never>(onfulfilled?: ((value: AxiosResponse<any>) => TResult1 | PromiseLike<TResult1>) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike<...>) | ... 1 more ... | undefined) => Promise<...>”。
          参数“onfulfilled”和“onfulfilled” 的类型不兼容。
            参数“value”和“value” 的类型不兼容。
              Type 'AxiosRequestConfig' is missing the following properties from type 'AxiosResponse<any>': status, statusText, config, requestts(2322)
    速览问题 (F2)
    没有可用的快速修复
    回复 有任何疑惑可以回复我~ 2020-04-19 09:13:56
  • 提问者 旋涡鸣人_ #2
    export interface AxiosPromise<T=any> extends Promise<AxiosResponse<T>> {
    
    }
    回复 有任何疑惑可以回复我~ 2020-04-19 09:18:51
  • ustbhuangyi 回复 提问者 旋涡鸣人_ #3
    你跑我的源码,也会报错吗,如果没有报错的话建议和我的源码做一下比对。
    回复 有任何疑惑可以回复我~ 2020-04-19 19:27:09
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号