2015-10-27 4 views
0

Я реализовал класс ApiHandler, который имеет несколько функций POST/GET/CREATE с использованием суперагента. Я хотел бы использовать эти функции, которые я определил там в своих представлениях.Как использовать функции (POST/GET/DELETE с суперагентом), которые определены в другом классе

Это мой ApiHandler Класс:

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) 
     } 
    }); 
} 

Я получаю ошибку: не определено не является функцией (оценка 'ApiHandler.loginPOST')

+0

Возможно, вы просто используете 'fetch' вместо суперагента. Вы требовали («ApiHandler») '? (или его путь) –

+0

Да, я сделал. Раньше я использовал fetch() и имел ошибку Ошибка сетевого запроса. Я прочитал кое-что, что они установили его с помощью суперагента. Я хотел бы использовать fetch() вместо этого, но не работал в моем случае ... – BigPun86

ответ

1

вы просто опечатка ... Это должно быть

module.exports = ApiHandler; 

Обратите внимание на s! Должен работать сейчас: D

+0

хорошо, очень плохая ошибка ... извините за беспокойство людей: P – BigPun86