Как передать Const из файла в другой - PullRequest
0 голосов
/ 18 января 2019

У меня проблемы с передачей следующего const clouds из одного файла в другой.

Я тут что-то упускаю и слишком долго на это смотрю - Ваша помощь очень ценится!

От: getAVWXData.js

import axios from 'axios'

export function getAVWXData() {

  axios.get(
    https://some_url
  )
  .then((response) => {
    const v      = this     
    const res    = response.data
    const clouds = res['Cloud-List'][0.0][1];
    console.log('Give me Clouds! ' + clouds) // <-- This works
  })
}

Кому:

import { getAVWXData } from './get-avwx-data'

getAVWXData()
console.log('Give me Clouds! ' + getAVWXData.clouds) // < Returns undefined!

Ответы [ 2 ]

0 голосов
/ 18 января 2019

Вы должны вернуть обещание со значением:

import axios from 'axios'

export function getAVWXData() {

  return axios.get(
    https://some_url
  )
  .then((response) => {
    const v      = this     
    const res    = response.data
    return res['Cloud-List'][0.0][1];
  })
}

и:

import { getAVWXData } from './get-avwx-data'

getAVWXData().then((result) => {
  console.log('Give me Clouds! ' + result.result) // <- Should Return a value
})
0 голосов
/ 18 января 2019

Проблема в том, что getAVWXData не возвращает никаких данных, а также данные, которые вы пытаетесь получить, находятся в пределах разрешенного обещания. Чтобы получить значение clouds, вам нужно сделать что-то вроде этого:

import axios from 'axios'

export function getAVWXData() {

  return axios.get(
    https://some_url
  );
}

и

import { getAVWXData } from './get-avwx-data'

getAVWXData().then((response) => {
  console.log('Give me Clouds! ' + response.data.clouds)
});

Вы должны дождаться разрешения обещания, чтобы получить данные из ответа.

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