其中是http请求(javascript)中的回调调用

其中是http请求(javascript)中的回调调用,javascript,callback,Javascript,Callback,我是Javascript新手,我刚刚开始阅读回调。当我必须管理整个流程时,一切对我来说都很清楚,但是当我必须发出http请求时,我无法理解它们是如何工作的。在阅读有关回调的内容时,我发现了以下片段: function doHomework(subject, callback) { alert(`Starting my ${subject} homework.`); callback(); } doHomework('math', function() { alert('Finish

我是Javascript新手,我刚刚开始阅读回调。当我必须管理整个流程时,一切对我来说都很清楚,但是当我必须发出http请求时,我无法理解它们是如何工作的。在阅读有关回调的内容时,我发现了以下片段:

function doHomework(subject, callback) {
  alert(`Starting my ${subject} homework.`);
  callback();
}

doHomework('math', function() {
  alert('Finished my homework');
});
在这种情况下,我很清楚,这是流程的主要步骤:

  • 我们创建了一个名为dojob的函数对象
  • 通过两个参数(subject和回调函数)调用该函数
  • 打印具有给定主题的警报
  • callback被调用,因此我们发出警告:“完成我的家庭作业”
  • 我将尝试解释http请求中我不清楚的内容:我知道javascript是一种事件驱动语言,因此我们不能依赖于阻塞函数,因为代码的执行不会等待完成,因此,如果我们发出GET请求,例如,我们不能依赖于下一行代码的响应中填充了透视数据。为了解决这个问题,我们使用了一个回调函数,以确保数据是我们需要的。问题是我看不到回调调用的位置。在jquery中,我们可以制作如下内容:

    $.get(
        "somepage.php",
        {paramOne : 1, paramX : 'abc'},
        function(data) {
           alert('page content: ' + data);
        }
    );
    
    我知道这个jquery方法可能已经过时了,但我发布了它,因为它使用了回调函数回调调用在哪里?

    引擎(浏览器)将启动一些后台任务来执行请求,然后当请求完成时,它将调用回调。因此,回调调用深入嵌套在浏览器源代码中的某个地方。ª

    JavaScript是一种解释语言,这意味着解释器可以提供非用该语言本身编写的附加功能


    CharStyle:当然,这只适用于本机API,而不适用于jQuery这样的用户代码。然而,jQuery将在内部调用其中一个本机API,并将添加一个回调函数来回调您

     // a simplified example:
     function get(url, callback) {
       fetch(url).then(function(res) { // the native API call adding a callback
         callback(res); // which then calls back
       });
     }