javascript - 为什么javascript自动将一个函数的结果作为参数传递给下一个函数

标签 javascript

我目前正在学习 javascript,我经常在观看的教程中发现这一点。 Javascript 自动将一个函数的结果作为参数传递给下一个函数。

fetch('SampleApi')
.then( function(data) { return data.json() } )
.then( function(data) { console.log(data.name); } )
.catch(function(err) { console.log(error) })

获取的结果直接作为函数的参数,然后函数的结果直接作为下一个函数的参数。

我只想知道这个是什么,这个叫什么。在深入研究之前,我需要了解这一点。

最佳答案

编辑:修改示例以显示在方法之间传递参数以直接回答问题。

基本前提是,只要请求的操作正常且可用,JavaScript 就可以立即对返回的结果采取行动。此处显示了一个简单示例:

console.log("|" + "   This is a string with extra spaces   ".trim() + "|");

这也可以在您自己的代码中完成。在下面的示例中,请注意操作的返回是对象本身。这允许我们在从同一对象中的其他操作返回时执行该对象中可用的任何操作:

class Test {
  sayHi(message = "Passed Message") {
    console.log('parameter: ' + message);
    this.message = message;
    return this;
  }

  sayBye(cb) {
    cb(this.message);
    return this;
  }
}

const test = new Test();
test.sayHi("hello!").sayBye(passed => console.log('passed in: ' + passed));

因此,在您使用 JavaScript 的整个过程中,您会发现许多这种称为方法链的想法的实例。

在您提供的示例中,只是将此概念应用于 fetch API。

关于javascript - 为什么javascript自动将一个函数的结果作为参数传递给下一个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56808764/

相关文章:

javascript - 如果表单验证为 false,则清除所有字段

javascript - d3.js - 悬停时节流事件?

javascript - querySelector 'tbody > tr[data-index=-1]' 问题

javascript - 如何使用 PhantomJS 渲染完整图表?

javascript - Facebook FB.Event.subscribe 不起作用

javascript - Jasmine 2.0 SpecRunner 与 Karma

javascript - 找不到带有 sequelize 的模块模型

javascript - 如何在单击时使全宽 div 出现在网格项下

javascript - ASP.NET Pikaday 不适用于母版页

javascript - 如何在 Angular 中使用 Chrome Extension Api?