Javascript 如何对多个回调进行概念化,也称为。您是如何看待这样的代码的?
例如,以以下代码源代码为例: 我经常遇到这样的情况,我需要构建这样的东西,或者阅读它,而我总是做得很慢,所以,有没有更好的方法来概念化这个模式 以下是我目前阅读上述内容的思考过程: 好的,我们有两个文件,一个是从另一个导入的函数。容易的豌豆 正在调用导入的函数,并传递URL和回调函数。容易的豌豆柠檬挤压。此回调函数接受1个参数“data”,并将其传递给doSomethingSuveData。我相信我们在这一点上阻止了 在file.js中,调用并传递了getUsefulContents URL和回调 调用getJSON,并传递URL和回调。。。是否所有内容都直接通过GetUsefulContent?我们为什么需要它?来回迷茫 …好吧,不管怎样,getJSON现在有了URL和回调。它创建一个xhr对象,通过调用回调函数对onload事件做出反应!将this.responseText传递给它,这就是数据 回调运行,运行doSomethingSuveData并已完成Javascript 如何对多个回调进行概念化,也称为。您是如何看待这样的代码的?,javascript,callback,Javascript,Callback,例如,以以下代码源代码为例: 我经常遇到这样的情况,我需要构建这样的东西,或者阅读它,而我总是做得很慢,所以,有没有更好的方法来概念化这个模式 以下是我目前阅读上述内容的思考过程: 好的,我们有两个文件,一个是从另一个导入的函数。容易的豌豆 正在调用导入的函数,并传递URL和回调函数。容易的豌豆柠檬挤压。此回调函数接受1个参数“data”,并将其传递给doSomethingSuveData。我相信我们在这一点上阻止了 在file.js中,调用并传递了getUsefulContents URL和回
我花了相当长的时间来定期分析。有没有什么概念上的技巧或更好的方法来分析这一点?没有什么技巧可以将其概念化,但这与我们作为程序员使用的主要技巧之一背道而驰 这个技巧就是把程序分解成函数来隐藏它们在里面做什么。不要试图将所有内容都理解为一个大的长流程,只需要理解getUsefulContents为您提供了一些有用的内容。不要担心它是如何工作的,除非您正在更改GetUsefulContent 通常,您可以将每个函数视为一个黑盒。你喂它a,它吐出b。这是你通常需要了解的,除非你在里面胡闹 如果你需要详细了解整个程序,那就需要花点时间才能理解。这很难理解。这就是为什么我们像现在这样使用函数的原因
对于回调,它看起来有点不同,但仍然是一样的。对于一个接受回调的函数,您可以为它指定一个参数,并在完成时调用它。它称之为某物并吐出b。除此之外,你通常不必担心这一点。无论谁投了反对票,愿意分享原因吗?是程序员提高程序可读性和可理解性的关键方法。当然。问题是如何理解一些东西。你在鼓吹什么都不懂。您所说的对我构建示例代码中的函数毫无帮助,这正是我所要求的帮助。
// --file.js--
function getJSON(url, callback) {
let xhr = new XMLHttpRequest();
xhr.onload = function () {
callback(this.responseText)
};
xhr.open('GET', url, true);
xhr.send();
}
export function getUsefulContents(url, callback) {
getJSON(url, data => callback(JSON.parse(data)));
}
// --main.js--
import { getUsefulContents } from 'file';
getUsefulContents('http://www.example.com', data => {
doSomethingUseful(data);
});