如何使用在另一个 class 中定义的函数(POST/GET/DELETE with superagent)

How to use functions (POST/GET/DELETE with superagent) which are defined in a other class

我已经使用 superagent 实现了一个 ApiHandler Class,它有几个 POST/GET/CREATE 函数。我想使用我在视图中定义的这些功能。

这是我的 ApiHandler Class:

var request = require ('superagent');
var ApiHandler = {

loginPOST: function ( email, password, cb ) {
  request
    .post(BASE_URL + TOKENS)
    .type('json')
    .send({
        email:    email,
        password: password
    })
    .end(cb)
  },
}

module.export = ApiHandler;

现在我想在我的视图中使用它,只要我按下一个按钮事件它就应该调用这个函数。

我的 ButtonListener:

btnLogin:function(){
 ApiHandler.loginPOST(this.state.usernameOrEmail, this.state.password, function ( err, res ) {
        // Calling the end function will send the request
        if (res.status == 200) {
            var token = JSON.parse(res.text).token; // working
            ToastAndroid.show("POST Response -> " + token, ToastAndroid.SHORT)
        } else {
            ToastAndroid.show("POST Response -> " + err.text, ToastAndroid.SHORT)
        }
    });
}

我收到错误:undefined 不是函数(正在计算 'ApiHandler.loginPOST')

你只是打错了……应该是

module.exports = ApiHandler;

注意s!现在应该可以工作了:D