Size: a a a

JavaScript — русскоговорящее сообщество

2020 June 12

1

1N54N3 in JavaScript — русскоговорящее сообщество
Dmitriy Barabanov
Вопрос очень некорректно поставлен
Сам не знаю что хочу
источник

1

1N54N3 in JavaScript — русскоговорящее сообщество
Просто нужно заюзать апи запрос и получить данные в переменную
источник

1

1N54N3 in JavaScript — русскоговорящее сообщество
Chingiz Mamiyev
export const useApi = (url) => {
  return fetch(url)
       .then(response => response.json())
       .then(res => res)
}
источник

DB

Dmitriy Barabanov in JavaScript — русскоговорящее сообщество
выше написали же решение. Чем оно вас не устраивает?
источник

1

1N54N3 in JavaScript — русскоговорящее сообщество
Dmitriy Barabanov
выше написали же решение. Чем оно вас не устраивает?
Нужно чтобы результат функции были данные, которые сохраняются в переменную
источник

CM

Chingiz Mamiyev in JavaScript — русскоговорящее сообщество
Promise вернул
источник

DB

Dmitriy Barabanov in JavaScript — русскоговорящее сообщество
https://t.me/js_ru/245846  вот же решение
источник

1

1N54N3 in JavaScript — русскоговорящее сообщество
const response = useApi(url)
а не
const a
useApi(... a=results)
источник

1

1N54N3 in JavaScript — русскоговорящее сообщество
Chingiz Mamiyev
Promise вернул
А как данные получить вместо промиса?
источник

DB

Dmitriy Barabanov in JavaScript — русскоговорящее сообщество
1N54N3
const response = useApi(url)
а не
const a
useApi(... a=results)
так можно только через async. Тоже выше писали
источник

1

1N54N3 in JavaScript — русскоговорящее сообщество
Жс! 👍🏿
источник

CM

Chingiz Mamiyev in JavaScript — русскоговорящее сообщество
1N54N3
А как данные получить вместо промиса?
.then()
источник

1

1N54N3 in JavaScript — русскоговорящее сообщество
А без .then
источник

CM

Chingiz Mamiyev in JavaScript — русскоговорящее сообщество
1N54N3
А без .then
async/await)
источник

1

1N54N3 in JavaScript — русскоговорящее сообщество
Если нужно будет сто раз заюзать эту функцию, хочется сразу получить данные
источник

1

1N54N3 in JavaScript — русскоговорящее сообщество
Chingiz Mamiyev
async/await)
Это получается функцию useApi нужно делать асинхронной или там где получаю данные асинхронность?
источник

CM

Chingiz Mamiyev in JavaScript — русскоговорящее сообщество
Chingiz Mamiyev
export const useApi =async (url) => {
  const res = await fetch(url);
  const result = await res.json();
  return result;
}

const response = await useApi()
.
источник

DB

Dmitriy Barabanov in JavaScript — русскоговорящее сообщество
1N54N3
const response = useApi(url)
а не
const a
useApi(... a=results)
Понимаете в чем проблема. Код -  это постоянно исполняющийся механизм. Он не может ждать. Он может лишь перемалывать написанные строчку за строчкой.

Когда вы делаете запрос на сервер, он не может произойти мгновенно. Придется ждать, пока придет ответ. Это время.

JS не умеет ждать. Если для него нет работы сейчас, он идет выполнять следующие строчки кода. В результате он не может сделать то что вы хотите - сразу выдать ответ. Ответ будет, но когда то потом.  

А когда ответ будет когда-то потом, то и получать его надо когда то потом, а не сейчас, как вы хотите. Вот чтобы получить ответ когда то потом и придуманы эти всякие промисы , асинки и тд
источник

1

1N54N3 in JavaScript — русскоговорящее сообщество
Понимаю, просто хотел выяснить как правильно сделать
источник

DB

Dmitriy Barabanov in JavaScript — русскоговорящее сообщество
1N54N3
Понимаю, просто хотел выяснить как правильно сделать
Правильно сделать в вашем случае - это разобраться как получить ответ когда-то потом , после ответа сервера. Вам предлагают эти варианты, но вы их все отметаете. Вы хотите невозможного, вы хотите ответ здесь и сейчас.
источник