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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Axios不会在nodejs中返回[重复]相关的知识,希望对你有一定的参考价值。

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

为什么这个功能不会为我返回任何东西。我想我的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

答案

在编写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");
});

以上是关于Axios不会在nodejs中返回[重复]的主要内容,如果未能解决你的问题,请参考以下文章

为啥 async/await Axios 请求不会返回 Data 而不是 Promise 对象 [重复]

axios GET 请求不返回任何数据(VueJS 和 NodeJS)

Nodejs 上的 Axios 不会在请求的服务器上保留会话,而 PostMan 会保留

onRequestPermissionsResult 永远不会在片段中被调用 [重复]

axios post 请求挂在有效请求上

Vue、Axios 和 Google Maps Place API CORS 错误 [重复]