Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/465.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 是否有一种方法可以发出API请求,并且在发出请求之前只获取满足某些标准的数据?_Javascript_Reactjs_Api_Axios - Fatal编程技术网

Javascript 是否有一种方法可以发出API请求,并且在发出请求之前只获取满足某些标准的数据?

Javascript 是否有一种方法可以发出API请求,并且在发出请求之前只获取满足某些标准的数据?,javascript,reactjs,api,axios,Javascript,Reactjs,Api,Axios,现在,每当用户单击按钮时,我的代码都会向电影API发出请求。请求的一部分包括随机化请求中的电影id,以便response.data是一部随机电影。然而,在这个API中有成千上万的电影/电视节目/剧集,所以我想把它们缩小到只有那些有imdb收视率和海报的。现在,我的代码是这样的: function randomizeMovie() { axios({ "method": "GET", "url": `h

现在,每当用户单击按钮时,我的代码都会向电影API发出请求。请求的一部分包括随机化请求中的电影id,以便response.data是一部随机电影。然而,在这个API中有成千上万的电影/电视节目/剧集,所以我想把它们缩小到只有那些有imdb收视率和海报的。现在,我的代码是这样的:

  function randomizeMovie() {
    axios({
      "method": "GET",
      "url": `http://www.omdbapi.com/?i=${randomMovieId}&apikey={apikey}`
    })
      .then((response) => {
      displayMovieTitle(response.data.Title)
      displayMoviePoster(response.data.Poster)
    })
    .catch((err) => {
      console.log(err, "error")
    })
  }

我试着做了下面的工作,虽然它有点工作(我说这是因为它会在我的控制台上随机出现,但不会在前端显示变化),但每天有1000个API请求的限制,这肯定会消耗掉所有请求

  function randomizeMovie() {
    axios({
      "method": "GET",
      "url": `http://www.omdbapi.com/?i=${randomMovieId}&apikey={apikey}`
    })
      .then((response) => {
        response.data.imdbRating === "N/A" ? randomizeMovie() : 
      displayMovieTitle(response.data.Title)
      displayMoviePoster(response.data.Poster)
    })
    .catch((err) => {
      console.log(err, "error")
    })
  }
所以我的问题是:我可以设置API响应满足的条件而不进行请求调用吗?还是有其他我想不出的解决办法?我读过很多关于堆栈溢出的问题,reddit,google,所有这些我都找不到解决方案。感谢您的帮助

表示它有参数选项。你可以通过改变年份或搜索关键字来搜索电影。更改参数是获取更多随机电影的好方法。
对参数使用随机函数

,因此此应用程序没有搜索条目。只需点击一个按钮,电影/电视节目/插曲就会随机显示。长话短说,我不认为我能以我所认为的方式解决这个问题,但我找到了一个解决方案,如果有人想知道它是什么,我正在通过koggle获取Netflix数据。将随机化数据单击,然后通过omdb api显示海报、标题、演员阵容等!:-)感谢您的回复。您也可以使用onclick的时间来进行随机性。您可以使用完成单击的第二秒来随机化结果