Создавайте интерфейс Axios и вызывайте из других файлов - PullRequest
0 голосов
/ 11 января 2019

Я пытаюсь создать служебную утилиту для выполнения http-вызовов с помощью axios из redux / saga.

Но эта функция всегда возвращает неопределенное значение.

serviceutils.js

import axios from 'axios'

const apiV1 = axios.create({
    baseURL: 'https://google.com',
    timeout: 2000,
    headers: { 'X-Custom-Header': 'foobar' }
});

-

import apiV1 from './../Utils/Service.Utils'
saga.js
function* fetchdata() {
  yield apiV1.post("http://google.com")
}

Ответы [ 3 ]

0 голосов
/ 11 января 2019
you have need to return the function after done the execution or 
getting the response.

import apiV1 from './../Utils/Service.Utils'
saga.js
function* fetchdata() {
  return apiV1.post("http://google.com").then(function (response) {
    return response;
  })
  .catch(function (error) {
    return error;
  })
}
0 голосов
/ 11 января 2019

Я решил проблему с ответом о блокировке перехватчика и возвращает неопределенное значение

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

Насколько я знаю, Axios работает на основе обещаний, поэтому вы должны либо использовать async / await, либо цепочку обещаний then / catch.

Можно сделать так, чтобы вызов Axios находился в другом файле и потреблял его в третьем файле, но это зависит от описанных выше методов. Пожалуйста, проверьте документы ниже:

https://github.com/axios/axios

...