浅谈同步、异步、回调函数之间的关系?

本文探讨了JavaScript中的同步、异步概念以及回调函数的使用。作者通过一个实际问题,描述了在异步操作中加载动画与回调函数执行顺序的困扰,分析了JS单线程执行的特点,指出加载动画的显示因与异步方法竞争CPU资源而延迟。通过延迟调用异步方法解决了问题,但也引发了关于异步回调中标志字段值的管理问题。最后提出了解决方案,如轮询判断或直接在回调中处理后续操作。
摘要由CSDN通过智能技术生成

关于这个问题其实我以前没有想过,但就是在最近,我踩坑了,我才明白了这些东西,接下来我就来给大家简单的谈一下。

首先,先来简单介绍一下同步、异步以及回调函数的概念,以此来帮助大家快速的理解问题

  • 同步:发出一个调用时,在没有得到结果之前,该调用就不返回;一旦调用返回,就得到返回值。换句话说,就是由调用者主动等待这个调用的结果。

  • 异步:调用在发出之后,这个调用就直接返回了,所以没有返回结果。当一个异步过程调用发出后,调用者不会立刻得到结果。而是在调用发出后,被调用者通过状态、通知或通过回调函数,让调用者能响应结果。

  • 回调函数:主函数通过参数将函数传递到其它代码的,某一块可执行代码的引用。简单点来说就是,一个函数执行完成之后的返回数据,通过参数的形式传递给主函数。

然后进入主菜,说下我当时遇到的问题。

问题描述:

js 中有一前一后两个语句,第一个是加载控件,就是显示加载中这个样式动画;第二个是一个异步方法,回调函数中存在一个 alert 弹窗。当我执行的时候,发现了一个问题,就是加载动画总是延迟几秒等待异步方法调用完成才显示加载动画和弹出 alert 弹窗,几乎是同时。这肯定是不符合我的需求的,我最开始的想法就是异步去调用后台接口的时候显示加载动画提示用户等待,而不是调完完成才显示加载动画,那样也就没有了意义。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

皮皮的小猪仔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值