Как мне сохранить стоимость из петиции? - PullRequest
0 голосов
/ 27 сентября 2019

Я хочу получить значение из API и сохранить его на потом, но у меня возникают проблемы.

Я получаю нужный результат, когда использую console.log (), но когдасделать то же самое с «return ()», я получаю такой результат:

Promise {: «Значение, которое я хочу»}

Я покажу вам мой код:

const getDataAA = async () => {
  const response = await fetch("https://s3.amazonaws.com/dolartoday/data.json")
  const data = await response.json()
  console.log("async/await based")
  console.log(data.USD.transferencia)
}

Когда я вызываю getDataAA (), я получаю то, что хочу в консоли, но я хочу сохранить это значение, чтобы использовать его, поэтому я изменил "console.log (data.USD.transferencia)«для» return (data.USD.transferencia) ».

Затем я делаю что-то подобное, чтобы сохранить значение:

let dolarPrice = getDataAA()

Почему при использовании« console.log »Я получаю значение, но когда я использую «возврат», я получаю также обещание?

Ответы [ 2 ]

0 голосов
/ 27 сентября 2019

Я обнаружил, что я могу решить эту проблему!Я определил переменную вне функции, а затем функция сохранила нужное значение внутри этой переменной.Это мой код:

const getDataAA = async () => {
  const response = await fetch("https://s3.amazonaws.com/dolartoday/data.json")
  const data = await response.json()
  console.log("async/await based")
  dolarPrice = (data.USD.transferencia)
}

let dolarPrice

getDataAA()

Таким образом, я сохранил значение в переменной «dolarPrice».Спасибо всем, кто ответил на мой вопрос, я нашел решение, спасибо всем вам.

0 голосов
/ 27 сентября 2019
        const getDataAA = async () => {
          const response = await fetch("https://s3.amazonaws.com/dolartoday/data.json")
          return response.json()
        }

        let response = await getDataAA();
        console.log(response);

- EDITED

, так что это еще один пример его использования.

  1. асинхронный метод (getDataAA) должен что-то возвращать.
  2. каждый раз, когда вам нужно вызвать асинхронный метод, вы должны использовать await (если вы ждете, пока он не завершится)
  3. каждый раз, когда вы используете await, метод должен быть асинхронным.

<!DOCTYPE html>
<html>
    <script type="text/javascript">

		var f = async () => {
			const getDataAA = async () => {
			  const response = await fetch("https://s3.amazonaws.com/dolartoday/data.json")
			  return response.json()
			}

			let response = await getDataAA();
			console.log(response);
		}
		f();
    </script>
</html>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...