Как сохранить ответ на запрос http в локальной переменной и использовать его в любом из моих файлов? - PullRequest
1 голос
/ 11 марта 2019

Мой ответ HTTP-запросов возвращает объект, и я не знаю, как назначить его локальной переменной и использовать его между различными файлами.Как мне это сделать?

    axios.post(url + '/qget?sub=' + sub)
    .then(data => console.log(data))
    .catch(err => console.log(err)); 

Я просто хочу взять ответ data и присвоить его переменной, которую я могу экспортировать и использовать в других моих файлах

Ответы [ 2 ]

2 голосов
/ 11 марта 2019

Вы можете экспортировать функцию, которая принимает данные в качестве параметра из другого модуля.Затем вы можете вызвать эту экспортированную функцию в обратном вызове then, чтобы другой модуль теперь имел доступ к данным http.

некоторый модуль:

export function doSomethingWithData(data) {
    // logic...
}

исходный файл:

// ...

import { doSomethingWithData } from './someModule'

// ...

axios.post(url + '/qget?sub=' + sub)
.then(data => {
    console.log(data)
    doSomethingWithData(data)
})
.catch(err => console.log(err)); 

// ...
1 голос
/ 11 марта 2019

Используйте localStorage, который является частью API веб-хранилища:

axios.post(url + '/qget?sub=' + sub)
    .then(data => localStorage.setItem('storedData',data))
    .catch(err => console.log(err)); 

И затем каждый раз, когда вы получаете его с localStorage.getItem:

let retrievedData = localStorage.getItem('storedData');

Примечание: никогда не рассматривайте localStorage как безопасный, поэтому не храните конфиденциальные данные

О местном хранилище:

https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage

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