如何使用在另一个 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
我已经使用 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