varletjs/axle

关于拦截器使用后类型未更新的问题

Closed this issue · 4 comments

useResponseInterceptor(responseStatusInterceptor({
 200: (res) => {
            return res.data; // 成功的状态码
        },
...
..

使用上述拦截器将第一层data返回后

const res = axle.get(...)

res还是还是AlxeRespons类型,没有跟拦截器返回的类型进行绑定

在写详细点

比如下面的代码

const loginRes = await api.postUrlEncode<{
                    token: string;
                }>(apisUrl.LOGIN_MINI, { xcxCode: code, phonenumber: phoneNumber });

在我已经用了拦截器返回data之后

我希望我能直接读取token

const token = loginRes.token

但实际我的类型还是提示有一层data

0.6.0 做了一次类型重构,应该能满足你的需要了。

// before
const loginRes = await api.postUrlEncode<any, { token: string }>(apisUrl.LOGIN_MINI, { xcxCode: code, phonenumber: phoneNumber });
// after
const loginRes = await api.postUrlEncode<{ token: string }>(apisUrl.LOGIN_MINI, { xcxCode: code, phonenumber: phoneNumber });

感谢哈哈哈,希望你有更新日志,都更新哪些功能,我有些代码都是copy你的