如何重构此提取请求?

时间:2020-06-20 13:36:53

标签: javascript node.js reactjs axios fetch

我有这段代码可以从第三方API提取数据,并将其发送到我的后端进行处理。第三方api需要定位用户的本地主机地址,因此它必须来自前端。我下面有这段代码,它工作得很好,但看起来很乱,我敢肯定有一种更好的编写方法。有什么建议吗?

我将提取用于原始请求,因为如果我将axios用于第三方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);
  };

0 个答案:

没有答案