MyApi класс вызывает "TypeError: callBack не является функцией" - PullRequest
0 голосов
/ 23 марта 2020

Я пытаюсь создать класс API, который содержит соответствующие вызовы в одном месте:

class Api {

  fetchDataDaily = (callBack) => {
    let FILE_URL = process.env.REACT_APP_FILE_DAILY;
    readRemoteFile(FILE_URL, {
      header: true,
      download: true,
      complete: resp => {
        callBack(resp.data);
      },
    });
  };
}

Со стороны я делаю это:

import Api from './Api';
import React, { Component } from 'react';

class Table extends Component {
  api = new Api();

  logConsole = data => {
    console.log('data: ', data);
  };

  componentDidMount() {
    this.api.fetchDataDaily(this.logConsole);
  }
}

Я получаю сообщение об ошибке:

TypeError: callBack is not a function
complete
src/Api.js:33
  30 |     header: true,
  31 |     download: true,
  32 |     complete: resp => {
> 33 |       this.callBack(resp.data);
     | ^  34 |     },
  35 |   });
  36 | };
View compiled
  • Почему?
  • И как я могу это решить?

1 Ответ

0 голосов
/ 23 марта 2020

Ошибка состояла в том, что где-то в моем коде также была вызвана функция, но без заданной функции обратного вызова.

неправильно

dataApi.fetchDataDaily(date)

решено

dataApi.fetchDataDaily(date, callback)
...