javascript - NodeJS 获取 promise 回调挂起

标签 javascript node.js promise

我有这个代码:

fetch(url).then(response => {
  const json = response.json();
  console.log('simplest possible fetch', json, json.where);
});

在控制台中我得到:

simplest possible fetch Promise {[[PromiseStatus]]: "pending", [[PromiseValue]]: undefined} undefined

大多数都得到了这个。有时我会获得“成功”状态。对我来说,这意味着回调正在 fetch promise 解决之前运行。

我希望函数仅在提取完成时运行。我该怎么做?

最佳答案

response.json() 返回一个promise,使用then 回调获取数据:

The json() method of the Body mixin takes a Response stream and reads it to completion. It returns a promise that resolves with the result of parsing the body text as JSON.

fetch(url)
  .then(response => response.json())
  .then(data => console.log('simplest possible fetch', data, data.where));

关于javascript - NodeJS 获取 promise 回调挂起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46275859/

相关文章:

javascript - 仅在向下滚动时滚动捕捉

javascript - 使用 ngx-prism 高亮显示 JS 语法

javascript - 下拉菜单中所选值的不同显示

node.js - package.json 中定义的 Webpack Typescript 相对依赖关系

javascript - JavaScript Promise Library在首次调用时使用AJAX请求加载JSON数据,然后在重复调用时从缓存的变量加载

javascript - 我怎样才能缩短这个JavaScript表达式?文档.createElement

javascript - 令人困惑的 JavaScript 对象行为

node.js - 如何将node.js/geddy与cookie一起使用

javascript - 如何等待 module.export 函数完成请求,然后再将其返回值分配给不同 JS 文件中的变量

javascript - 使用 Promise.all 执行数组中的 promise 会破坏它们