Почему я не могу использовать обещание в своем базовом приложении для реагирования?

Я новичок, чтобы реагировать, и я экспериментировал с запросами на получение axios. Итак, что я пытаюсь сделать, так это то, что у меня есть файл json в моей общей папке, и я делаю запрос на получение axios к местоположению этого файла, а затем печатаю результат в массиве.

Первый способ работал довольно гладко. Демонстрация функции приведена ниже

Почему я не могу использовать обещание в своем базовом приложении для реагирования?

Результат приведен ниже:

Почему я не могу использовать обещание в своем базовом приложении для реагирования?

И, как видно, этот подход работал довольно хорошо.

Однако я также создал класс с именем Fetch внутри файла service.js. У этого класса был метод с именем fetch, который использовал axios для выполнения запроса на получение.

Демонстрация этого класса приведена ниже:

import React from 'react';
import axios from "axios";

class Fetch extends React.Component
{
    constructor()
    {
        super();
    }
    fetch()
    {
        console.info("Hi i am in fetch of service....");
        axios.get('./config.json').then(response=>{
            var x=response.data;
            console.info("----------------------------------------->"+JSON.stringify(x));
            
            return x;
        },(err)=>{
            return err;

        })
        
    }
}

export default Fetch;

Я импортировал этот класс в другой файл js и создал объект этого класса для вызова метода выборки. Демонстрация моего использования приведена ниже:

Почему я не могу использовать обещание в своем базовом приложении для реагирования?

Однако, когда я попытался сделать это, я получил следующую ошибку:

Почему я не могу использовать обещание в своем базовом приложении для реагирования?

Что я делаю неправильно ? Если с первого раза получилось, то почему сейчас не работает?

Пожалуйста, размещайте текст, скопированный из вашего редактора, вместо изображений вашего редактора.

slebetman 29.05.2019 12:41

В вашем классе Fetch верните запрос axios из функции fetch()

Kobe 29.05.2019 12:41

@Кобе... Я сохраняю ответ в переменной и возвращаю его. Ты это имеешь в виду...??

Ashutosh Kumar 29.05.2019 12:45

@AshutoshKumar посмотри мой ответ

Kobe 29.05.2019 12:50
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
4
46
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы получаете эту ошибку, потому что ничего не возвращается из Fetch.fetch(), не говоря уже об обещании.

Вы пытаетесь вызвать .then() функцию void, поэтому не сможете получить доступ к ответу.

В вашем классе Fetch верните запрос axios из функции fetch():

fetch() {
    return axios.get('/config.json').then(response => {
        // your code
    })
}

Другие вопросы по теме