javascript - 为什么 "Promise { <pending> }"没有解析?

标签 javascript node.js isomorphic-fetch-api

我正在尝试从 Storm Glass API 获取数据。我正在使用他们的模板 Fetch 请求 ( https://docs.stormglass.io/?javascript#point-request )。

当我运行脚本时,控制台会无限期地读出“Promise { <pending> }”。所以,请求没有返回值,但我不知道为什么。有什么想法吗?

我已将我的 API key 替换为 <My API key>

const http = require('http')
const fetch = require('isomorphic-fetch');

http.createServer((req, res) => {

////////////////////////////////////////////////App code
const lat = 58.7984;
const lng = 17.8081;
const params = 'waveHeight,airTemperature';

fetch(`https://api.stormglass.io/point?lat=${lat}&lng=${lng}&params=${params}`, {
  headers: {
    'Authorization': '<My API key>'
  }
}).then(function(response) {
  // Do something with response data.
  const jsonData = response.json();
  console.log(jsonData)
});

/////////////////////////////////////////////////////////
}).listen(3000);

console.log("service running on http://localhost:3000");

最佳答案

response.json 函数返回一个 Promise,而不是反序列化的对象。您的代码应为:

fetch(`https://api.stormglass.io/point?lat=${lat}&lng=${lng}&params=${params}`, {
  headers: {
    'Authorization': '<My API key>'
  }
})
.then(response => response.json())
.then(function(jsonData) {
  // Do something with response data
  console.log(jsonData)
});

关于javascript - 为什么 "Promise { <pending> }"没有解析?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55560560/

相关文章:

javascript - 如何在 webpack 中正确填充 URLSearchParams?

javascript - React Isomorphic Fetch 实际上没有发布

javascript - Node 没有正确地 gc 我的对象

javascript - 变量范围和使用 qUnit 进行测试

node.js - 安装了新命令但它们仍然不起作用

javascript - 如何从使用 javascript child_process.execFile 运行的文件中获取退出代码

node.js - 我如何使用 Express 构建对 MongoDB 3+ 的获取请求

javascript - 多个获取请求,使用 gatsby-node 创建 Node (async/await)

javascript - PhantomJS 执行搜索并获取 URL

Javascript 月份差异