Задать вопрос

Как выполнить последовательно функцию js?

Всем привет, возникла такая проблема, что когда я через api получаю данные - вот таким вот образом
const get_element_list = (id) => {
    return axios({
        url: `${url_hook}/lists.element.get.json`,
        method: 'post',
        data: {
            IBLOCK_TYPE_ID: 'lists',
            IBLOCK_ID: 17,
            filter : {
                PROPERTY_70: 1,
                PROPERTY_74: id,
            }
        }
    }).then(async res => {

        let result = await res.data.result[0]

        console.log(result)
    })
}


Это битрикс, если что, там мне приходят данные в формате json, после я разбиваю их по местам
Ну и проблема в том, result выводит undefinded, то есть, он его отображает до того момента, как придут данные в эту переменную. Как можно сделать, что бы result отобразилсятолько тогда, когда в него придут данные?
  • Вопрос задан
  • 124 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 1
sergiks
@sergiks Куратор тега JavaScript
♬♬
async/await тут лишний, достаточно просто
const get_element_list = id => {
  return axios({
    url: `${url_hook}/lists.element.get.json`,
    method: 'post',
    data: {
      IBLOCK_TYPE_ID: 'lists',
      IBLOCK_ID: 17,
      filter: {
        PROPERTY_70: 1,
        PROPERTY_74: id,
      },
    },
  }).then(response => {
    const result = response.data.result[0];
    console.log(result, response.status, response.data); // посмотрите, что тут
  });
};
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
SemanticMoscow
@SemanticMoscow
нужно сначала спросить: пришли данные?
а потом уже (если true) выполнять функцию,
или ждать и на второй круг
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы