Axios不会在nodejs中返回[重复]

问题描述 投票:0回答:1

这个问题在这里已有答案:

为什么这个功能不会为我返回任何东西。我想我的axios.get.then()有问题。那么你可以帮助它在那里返回消息(reponse => ...)这里的主要问题是我如何保存function testConnection()返回到变量message多次使用它。

var axios = require('axios');

function testConnection() {

  axios.get(`https://api.themoviedb.org/3/discover/movie`, {
  params: {
    api_key: '72f444fa3d547f8ab38bcc6d9b00ffd6',
    sort_by: 'popularity.desc',
    include_adult: false,
    include_video: false,
    with_genres: 28,
    with_original_language: 'en',
  },
  }).then(response => {
      if (response.length === 0) {
        return "NOT OK";
      }  
        return "OK";
  })
}

var message = testConnection();
console.log(message);

这是我运行代码时的结果。 enter image description here

node.js function return axios
1个回答
0
投票

在编写JS或任何其他NodeJS代码时,有规则等待来自外部资源(EG:数据库,API)的响应。

var axios = require('axios');

function testConnection(callback) {

  axios.get(`https://api.themoviedb.org/3/discover/movie`, {
  params: {
    api_key: '72f444fa3d547f8ab38bcc6d9b00ffd6',
    sort_by: 'popularity.desc',
    include_adult: false,
    include_video: false,
    with_genres: 28,
    with_original_language: 'en',
  },
  }).then(response => {
      callback(response);
  })
}

var message = testConnection(function(response){
   if (response.length === 0) {
        console.log("NOT OK");
      }  
        console.log("OK");
});
© www.soinside.com 2019 - 2024. All rights reserved.