我正在使用超级代理进行HTTP请求,我正在尝试使用superagent-intercept来捕获HTTP请求,以便管理错误和必要的重定向。
当安装一个组件时,我从Vuex调用一个动作:
GLOBAL_DATA({commit, state}) {
forms_store.get(null, (result) => {
commit('SET_FORMS', result)
});
}
打电话:
forms.get = function(root, cb) {
request
.get(`${api}/forms/name/FORM`)
.use(interceptor.auth)
.use(nocache)
.withCredentials()
.set('Accept', 'application/json')
.end(function(err, res) {
if (res.body.status === 'success') {
cb(res.body.data.forms, root)
} else if (common.token(res)) {
common.cb(root);
} else {
console.log("error");
}
});
};
考虑:
interceptor.auth = require('superagent-intercept')((error, results) => {
// Error handling ..
});
但我在GLOBAL_DATA中有错误:
TypeError:fn不是函数
我认为某些事情在某些时候被覆盖了,但我无法弄清楚如何解决它。
编辑:
我改变了第一个函数的语法,但我仍然有同样的错误:
GLOBAL_DATA : (context) => {
forms_store.get(null, (result) => {
context.commit('SET_FORMS', result)
});
答案 0 :(得分:0)
定义这样的动作:
GLOBAL_DATA: (commit, state) => {
forms_store.get(null, (result) => {
commit('SET_FORMS', result)
});
}