GreyCrew
@GreyCrew
Full-stack developer

Как вернуть данные из класса?

В приложении на react часто используются аякс запросы, для их выполнения юзаю либу axios.
Ранее ООП на JS совсем не использовал.
Для сокращения кода вынес все запросы в отдельный класс (ApiConnect), который подключаю через
import RequestToApi from '../ApiConnect.js';

Сами запросы выполняются, и console.log данные выводит, но вопрос в том, как эти данные получить обратно в компонент?
Вот пример класса:
import axios from 'axios';

export default class RequestToApi {
  constructor(url, data) {
    this.url = url;
    this.data = data;
    this.post = this.post.bind(this);
    this.get = this.get.bind(this);
  }

  post(){
    axios.post(this.url, JSON.stringify(this.data))
    .then(function (response) {
      //console.log(response);
      return response;
    })
    .catch(function (error) {
      return error;
    });
  }

   get(){
    axios.get(this.url, JSON.stringify(this.data))
    .then(function (response) {
      //console.log(response);
      return response;
    })
    .catch(function (error) {
      return error;
    });
  }
}


вот пример обращения:
let UpdateTask = new RequestToApi(URL, data);
UpdateTask.post();

Как правильно вернуть данные из класса?
  • Вопрос задан
  • 361 просмотр
Решения вопроса 1
@bagzon
Backend PHP, NodeJs, JS
Ты должен заретурнить содержимое своих функций, а они в свою очередь отдадут тебе промис, снаружи ты уже работаешь с промисами как обычно.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы