【问题标题】:Getting error "not defined" for function called inside function为函数内部调用的函数获取错误“未定义”
【发布时间】:2020-06-13 08:41:05
【问题描述】:

我有一个类,在那个类中,它有两个函数和一个静态函数。在第一个名为requestMovie()的函数中我想从API中获取数据,然后第二个函数用于生成名为generateUrl()的URL,在第三个名为searchMovie()的函数中我想调用generateUrl()和@ 987654326@ 函数但发生错误,提示该函数未定义

const MOVIE_ENDPOINT = 'https://api.themoviedb.org/3/';
const API_KEY = '####';


class ApiTransactions {

    requestMovies(url, onComplete, onError){
        return fetch(url)
        .then((response) => response.json())
        .then(onComplete)
        .catch(onError);
    }

    generateUrl(path){
        const url = `${MOVIE_ENDPOINT}${path}?api_key=${API_KEY}`;
        return url;
    }

    static searchMovie(keyword){
        const url = generateUrl('search/movie') + '&query=' + keyword;
        requestMovies(url,renderResult, fallbackResult);
    }
}

export default ApiTransactions;

并且发生此错误说: enter image description here

【问题讨论】:

    标签: javascript function web webpack babeljs


    【解决方案1】:

    首先requestMovies是一个实例方法,它应该像this.requestMovies()一样被引用,其次因为这是一个实例方法,它不能从静态方法中调用,所以方法searchMovie不能是一个静态方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-01-17
      • 2019-08-09
      • 2018-09-22
      • 2017-07-25
      • 2019-04-02
      • 2016-04-09
      • 2020-04-29
      • 2017-07-15
      相关资源
      最近更新 更多