分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 前端开发

JS 异步回调

发布时间:2023-09-06 02:24责任编辑:顾先生关键词:暂无标签

Js 异步回调

回调概念:回调是一个函数被作为一个参数传递到另一个函数里,在那个函数执行完后再执行。
有点绕,好,咱们说大白话。就是B函数被作为参数传递到A函数里,在A函数执行完后再执行B

 

下面咱们看看代码怎么实现回调。

function A(callback){

    console.log("Iam A");

   callback();  //调用该函数

}

 

function B(){

   console.log("Iam B");

}

 

A(B);

 

异步回调

因为js是单线程的,但是有很多情况的执行步骤(ajax请求远程数据,IO等)是非常耗时的,如果一直单线程的堵塞下去会导致程序的等待时间过长页面失去响应,影响用户体验了。

如何去解决这个问题呢,我们可以这么想。耗时的我们都扔给异步去做,做好了再通知下我们做完了,我们拿到数据继续往下走。

var xhr = new XMLHttpRequest();

    xhr.open(‘POST‘,url, true);   //第三个参数决定是否采用异步的方式

    xhr.send(data);

    xhr.onreadystatechange= function(){

        if(xhr.readystate=== 4 && xhr.status === 200){

                ///xxxx

        }

    }

上面是一个代码,浏览器在发起一个ajax请求,会单开一个线程去发起http请求,这样的话就能把这个耗时的过程单独去自己跑了,在这个线程的请求过程中,readystate 的值会有个变化的过程,每一次变化就触发一次onreadystatechange函数,进行判断是否正确拿到返回结果。

 

来自: https://segmentfault.com/a/1190000007227305

 

 

JS 异步回调

原文地址:https://www.cnblogs.com/xiaoyueyuedeboke/p/10053642.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved