Как мне провести рефакторинг этого запроса на выборку? - PullRequest
0 голосов
/ 20 июня 2020

У меня есть этот код, который извлекает данные из стороннего API и отправляет их на мой сервер для обработки. Сторонний API должен быть нацелен на адрес локального хоста пользователя, поэтому он должен поступать из внешнего интерфейса. У меня есть этот код ниже, который отлично работает, но выглядит беспорядочно, я уверен, что есть лучший способ его написать. Есть предложения?

Я использую fetch для исходного запроса, потому что, если я использую ax ios для стороннего API, я получаю ошибку cors.

 getLogs = async () => {
    const { user } = this.props.auth;
    const reg = await fetch(
      `http://127.0.0.1:60000/onexagent/api/registerclient?name=${user.id}`
    );

    let regData = await reg.text();
    let regxml = new XMLParser().parseFromString(regData);

    if (regxml.attributes.ResponseCode === "0") {
      axios.post(`/api/avaya/register/${user.id}`, regxml);
      console.log(regxml.attributes.ResponseCode);
    }

    let avayaClientId = await fetch(`/api/avaya/getid/${user.id}`);
    let clientId = await avayaClientId.text();

    let logs = await fetch(
      `http://127.0.0.1:60000/onexagent/api/nextnotification?clientid=${clientId}`
    );

    let data = await logs.text();
    var xml = new XMLParser().parseFromString(data);
    axios.post(`/api/avaya/getlogs/${user.id}`, xml);
    console.log(xml);
  };
...