方法 Taro.addInterceptor 有 bug,一个低级的 bug,不应该出现的低级错误!



  • 方法 Taro.addInterceptor 是 Taro.request 执行请求时,
    定义拦截器的方法,
    在使用它定义拦截器时,
    需要 return 一个 chain.proceed(requestParams).then(callback)
    作为该请求的在得到响应时的拦截器,
    但是竟然!
    这个用于响应!响应的拦截器!
    是在执行请求的 success 方法之后才执行!
    那我要它这个响应的拦截器有什么用?
    写此处代码的人是抱着什么心态完成的工作?

    这个问题,
    目前我自己临时修改了下源代码
    => \node_modules@tarojs\taro\lib\wx.js

    => 77 行
    var p = new Promise(function (resolve, reject) {
      options.success = function (res) {
        originSuccess && originSuccess(res);
        resolve(res)
      };
    
    => 修改为
    var p = new Promise(function (resolve, reject) {
      options.success = function (res) {
        setTimeout(function () {
          originSuccess && originSuccess(res);
        }, 0);
        resolve(res)
      };
    

    为什么还要有这种低级的 bug 出现?用心一点不行么?什么样的心态才能会导致代码有这种低级错误的出现?呵呵了


登录后回复