javascript - 我可以使用内置的 fetch() 减少这个异步代码吗?

标签 javascript asynchronous

好像多了一个then方法

  getUser () {    
    const options = {
      credentials: 'include'
    };
    fetch("/api/user", options)
    .then((response) => {
      return response.json();
    })
    .then((results) => {
      console.log(results);
    })
    .catch((err) => {
    });

我想减少到:

  getUser () {    
    const options = {
      credentials: 'include'
    };
    fetch("/api/user", options)
    .then((response) => {
      console.log(response.json());
    })
    .catch((err) => {
    });

与其只是对其进行测试并查看其是否有效,我还想尝试并理解为什么以第一种方式编写它以及它是否是一种好的做法。

更新

为什么他们的两个 promise 只针对 1 个异步事件?

解析 JSON 不应该是一个简单的同步函数调用吗?

或者这只是我们可以使任何函数异步的设计选择?

最佳答案

response.json() 返回一个 promise 。他们的版本注销了该 promise 的结果。您的版本会注销处于挂起状态的 promise 对象,而不是它解析为的值。

关于javascript - 我可以使用内置的 fetch() 减少这个异步代码吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59582484/

相关文章:

javascript - extjs 记录按所需属性销毁

javascript - 为十六进制颜色使用变量

javascript - jssor slider 图像在 chrome 浏览器中无法正确显示

javascript - 使用异步和内联 JavaScript

node.js - 异步/等待未在 Azure 应用服务中运行

javascript - Node.js:REST 客户端在返回之前返回值

javascript:搜索文本(包括 html)并更改其 css 样式

javascript - 无法将 div 动画两次移动到所需位置

python - App Engine NDB 异步操作事件循环如何工作?

C++ 选择异步编程