Не создавайте функции в пределах al oop, тогда должно возвращать значение или бросать - PullRequest
0 голосов
/ 06 августа 2020

Сейчас у меня есть функция, которую я пишу на javascript. Я нажимаю api domo и получаю каждую отдельную страницу наборов данных, пока не останется ничего, что можно было бы захватить внутри do while l oop. ESLINTR кричит на меня, однако, за следующее: не создавайте функций внутри al oop, и тогда. Then должен возвращать значение или выдавать ошибку. Я не знаю, как go подавить эти ошибки. код такой:

  const getExistingDatasets = async () => {
    let results = 0
    let offSet = -50

    do {
      offSet = offSet + 50
      await axios
        .get(`https://api.domo.com/v1/datasets`, {
          headers: {
            Authorization: auth,
            Accept: 'application/json'
          },
          params: {
            offset: offSet
          }
        })
        .then(r => {
          results = r.data.length
          const data = r.data
          data.map(data => getDatasetColumns(data.id, data.name))
          console.log(results)
        })
    } while (results > 49)
  }

  getExistingDatasets()

1 Ответ

0 голосов
/ 06 августа 2020

Для начала вам следует избегать смешивания async / await с обещанием .then - это исправит обе проблемы.

const getExistingDatasets = async() => {
  let results = 0;
  let offSet = -50;
  const handleData = data => 
      data.forEach(item => getDatasetColumns(item.id, item.name));
  do {
    offSet = offSet + 50;
    let r = await axios
      .get(`https://api.domo.com/v1/datasets`, {
        headers: {
          Authorization: auth,
          Accept: 'application/json'
        },
        params: {
          offset: offSet
        }
      });
    results = r.data.length;
    handleData(r.data);
    console.log(results)
  } while (results > 49)
}

getExistingDatasets();

edit: добавлена ​​функция handleData

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...