Vue JS / superagent - TypeError:fn不是函数

时间:2017-02-07 08:43:40

标签: javascript vue.js superagent

我正在使用超级代理进行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)
});

1 个答案:

答案 0 :(得分:0)

定义这样的动作:

GLOBAL_DATA: (commit, state) => {
    forms_store.get(null,  (result) => {
        commit('SET_FORMS', result)
    });
}