JavaScript 2.1 回调函数及自定义异步

Js的同步异步以及回调函数 这里是修真院前端小课堂,每篇分享文从 【背景介绍】【知识剖析】【常见问题】【解决方案】【编码实战】【扩展思考】【更多讨论】【参考文献】 八个方面深度解析前端知识/技能,本篇分享的是: 【Js的同步异步以及回调函数】 大家好,我是IT修真院深圳分院第06期学员,一枚正直善良的web程序员。 今天给大家分享一下,修真院官网JS任务中可能会使用到的知识点: js同步异步以及回调函数 ... 阅读详情

1、回调函数

示例1:同步

function a(data,num) {
    console.log("excute a method");
    console.log(data + num);
}
  function b(aa,bb,cc) {
    console.log("excute b method");
    if(typeof cc === "function"){
    cc(aa, bb);
}
}
b(3,4,a);
console.log("end");

示例2:异步

async function a(data,num) {
    await console.log("excute a method");
    await console.log(data + num);
}
  function b(aa,bb,cc) {
    console.log("excute b method");
    if(typeof cc === "function"){
    cc(aa, bb);
}
}
b(3,4,a);
console.log("end");

2、执行结果

示例1

示例2

3、说明

①、回调函数是指把一个函数作为另一个函数的参数进行传递,示例中a函数作为b函数的参数cc进行了传递,且在b函数中对a函数进行了调用。

②await命令只能用在async函数之中,如果用在普通函数,就会报错。

③async函数必须等到内部所有await命令后面代码执行完成后,才会执行。

④如果我们希望即使前一个异步操作失败,也不要中断后面的异步操作。这时可以将第一个await放在try...catch结构里面,这样不管这个异步操作是否成功,第二个await都会执行。

 

 

Windows下Python调用D435i相机避坑指南:从SDK版本选择到RealSense Viewer报错解决 本文详细介绍了在Windows环境下使用Python调用Intel D435i相机的完整避坑指南。重点解决了SDK版本选择问题,推荐使用稳定的Intel RealSense SDK 2.54.2版本,并提供了从环境配置、常见报错解决到实际应用案例的全流程实践指导,帮助开发者高效完成相机部署与开发。 阅读详情

相关推荐

解决win11无法安装.net framework 3.5(包括.net2.0和3.0)错误代码:0x80070005

解决win11无法安装.net framework 3.5(包括.net2.0和3.0)错误代码:0x80070005

zeng699304的博客 2万+

JavaScript 异步函数

JavaScript 异步函数

sinat_35607202的博客 2694

对雷达中相位补偿概念的一些理解

基于多普勒相位补偿的速度扩展方法和DBF测角,两者本质上都是对相位进行补偿。

qq_42235129的博客 4030

JavaScript:异步函数

通过在函数定义前使用关键字 async ,定义异步函数。定义异步函数// 命名函数 async function asyncFunc_01() {} // 匿名函数 const asyncFunc_02 = async function() {} // 箭头函数 const asyncFunc_03 = async() => {}

JinsmLill的博客 4336

Day 01: 与Python的第一次亲密接触

环境搭建 、第一个程序 Hello, World!、以及Python之禅 (The Zen of Python) 的解读。

杨小扩的博客 220

OpenClaw实战系列04:Jira/Confluence深度集成实战指南

汇总 Confluence 空间 TEAM 下所有关于“性能优化”的文档,输出要点自然语言创建和查询 Jira 任务,无需离开聊天工具基于 Confluence 的私有知识库问答,让 AI 真正理解团队文档Jira 与 Confluence 联动,打通项目管理与知识管理定时同步与通知,自动化团队信息流转至此,你的 OpenClaw AI 助理已经不仅是一个聊天机器人,而是真正融入团队工作流的“智能项目管理助手”。下一期我们将带来OpenClaw 自定义技能开发实战。

PeterPan的博客 572

JavaScript 异步 实现异步的五种实现方法

JavaScript实现异步的五种实现方法 文章目录JavaScript实现异步的五种实现方法前言一、同步和异步是什么?1.同步任务:2.异步任务:二、异步方法有哪些(5种):1.webWork(创建分线程)2.promise(es6方法)3.Async await 异步的实现方法4.window.fetch() 的实现方法5.jquery中的deffered对象 的实现方法总结异步处理方法 前言 一、同步和异步是什么? 1.同步任务: js中的同步任务就是按照顺序执行(可以理解为A------&gt

weixin_46022934的博客 1万+

详解JS的四种异步解决方案:回调函数、Promise、Generator、async/await

针对generator的这个缺点,后面提出了co这个库函数来自动执行next,相比于之前的方案,这种方式确实有了进步,但是仍然麻烦。期间我们执行调用这个生成的Generator,他会返回一个遍历器对象,用这个对象上的方法,实现获得一个yield后面输出的结果。不同的是,调用Generator函数后,该函数并不执行,返回的也不是函数运行结果,而是一个指向内部状态的指针对象,也就是遍历器对象(在普通函数中,我们想要一个函数最终的执行结果,一般都是return出来,或者以return作为结束函数的标准。.....

达拉崩巴斑得贝迪卜多比鲁翁_ 1019

SAP Single Sign-On 全景指南:从传统 SAP SSO 到 SAP Secure Login Service for SAP GUI 的架构、场景与迁移实践

本文系统梳理了SAP生态下的单点登录技术方案,重点分析了SAP GUI的云化替代方案SAP Secure Login Service(SLS)。内容涵盖SNC、Kerberos/SPNEGO、SAML 2.0等核心协议的技术实现,对比了传统SAP SSO与新型SLS for SAP GUI的架构差异,并给出AS ABAP系统的具体实施路径。针对SAP GUI访问、浏览器访问Fiori/移动端等不同场景,提供了详细的协议选型建议和配置指南,帮助团队构建安全可靠且适应云时代的统一认证体系。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 273

Android 10.0 kenel中修改rom系统内部存储的大小

在10.0的系统rom产品开发定制中,在对一些产品开发中的配置需求方面,由于在产品后续订单中,有些产品是出口的,但是硬件方面已经定板,时间比较仓促,所以 就需要软件方面在rom内部存储的大小方面作假,修改rom真实的大小容量,所以就需要在kenel驱动部分来修改这部分的值最好了,接下来分析下计算rom容量的 相关代码,然后做出修改

安卓兼职framework和app工程师的博客 1403

js异步函数(async/await)

1.概念 异步函数也称为“asynac/await”(语法关键字),是ES6期约模式在ECMAScript函数中的应用。async/await是ES8新增的。这个特性让以同步方式写的代码能够异步执行。 2.async async关键字用于声明异步函数。这个关键字可以用在函数声明、函数表达式、箭头函数和方法上。 async function foo(){}; let bar=async function(){}; let baz=async ()=>{}; class Qux{ asy

涛涛子的博客 3811

YOLOv11改进策略【注意力机制篇】| SE、CBAM、ECA、CA、Swin Transformer等注意力机制全面解析与应用

本文详细介绍了五种主流的注意力机制及其在YOLOv11中的应用。通过合理的模块选择和位置部署,注意力机制能够显著提升目标检测性能。

QQ_778132974的博客 873

js控制异步请求数量

目前的项目中有这样一个需求: 一个数据列表页面,需要先加载出基本信息,而实时的数据信息需要通过后台调用接口获取,而为了防止调用接口的并发数量过大,需要在js上控制每次异步请求的数据量,并且支持可自定义的并发量 这里给出一个思路 使用一个数组保存需要请求的数据信息 定义个并发量长度的状态标识位数组,其中初始化为0,数组中只有3种状态 0:无数据 1:存放数据、待发送 2:已发送 3种

alisiyu的博客 3826

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

js异步等待完成后再进行下一步操作_JavaScript 异步详解

点击上方蓝字 关注我们!相关概念1单线程&非阻塞I/OJavaScript语言本身是单线程的。什么是单线程?可以理解为一次只能执行一个任务,所有的任务在执行开始前排成一个队列,等待顺序执行。为什么是单线程? 如果JS是多线程的,一个线程在某个DOM节点上添加内容,同时另一个线程删除了这个节点,那浏览器以谁为准?所以为了避免复杂性,JavaScript从诞生起就是单线程的。非阻塞...

weixin_39629679的博客 1万+

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

JavaScript 异步操作之回调函数

本文试图尝试站在初学 异步 编程的角度来解释什么是 回调函数。 同步和异步 在介绍 回调函数 之前,先来看两个概念 同步 和 异步。 同步 行为通常指代码从上到下一行一行的顺序执行,后面的代码总是在前面的代码执行完成以后才会执行。 同步 操作的例子如下: let a, b; function foo() { a = 1; } foo(); b = a + 1; console.log(b); //2 由于代码顺序执行,先调用函数 foo();,后执行 b = a + 1;,所以在执行 b = a

crawl_spider的博客 2036

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

js异步,回调函数,看了就懂

异步执行,回调函数,promise对于前端开发者来说是必须掌握且至关重要的问题,为了学好promise所以先深入理解一下异步,以及回调函数的概念。 1.何谓同步异步? 同步:按顺序执行,后者一定要等前者完成之后才可以开始,如下代码 function f1(){ console.log('1'); } function f2(){ console.log('2'); } function f3(){ console.log('3'); } f1() f2() f3() 结

weixin_43946748的博客 1776

【JavaScript】怎么使用回调函数解决异步问题

获取返回值 我们都知道同步API可以从返回值中拿到API执行的结果, 但是异步API却是不可以的 // 同步 function sum (n1, n2) { return n1 + n2; } const result = sum (10, 20);//30 // 异步 function getMsg () { setTimeout(functio...

这道题我不会做...不会做啊..太难了!! 2072

JavaScript 同步与异步

在 JavaScript 中,和是两种不同的执行模型。它们的区别主要在于代码的执行顺序和处理方式。

2301_79601341的博客 3956

JavaScript中的异步

JS异步编程、事件循环

weixin_43165676的博客 6637

【JavaScript】JS执行机制--同步与异步

## 单线程 `JavaScript`语言具有单线程的特点,同一个时间只能做一件事情。这是因为`JavaScript`脚本语言是为了处理页面中用户的交互,以及操作`DOM`而诞生的。如果对某个`DOM`元素进行添加和删除,不同同时进行。应该是先添加,再删除,事件有序。 单线程的特点是所有任务都需要排队进行,前一个任务结束,才会执行后一个任务。这样会导致问题:如果JS执行时间过长,这样会导致页面渲染不连贯,导致页面渲染加载阻塞。

叶子与海的博客 5942

JavaScript 回调函数详解

本文深入剖析JavaScript回调函数的核心概念与工作机制,详细讲解同步回调和异步回调的实现原理及典型应用场景。通过定时器、事件处理等实例演示回调函数在异步编程中的关键作用,分析回调地狱问题的成因及其解决方案,包括模块化拆分和Promise/async-await等现代异步处理技术。文章还提供回调函数的最佳实践指南,帮助开发者规避常见陷阱,编写更健壮、可维护的异步代码。

m0_73941339的博客 2057

js回调函数获取异步返回值

js回调函数获取异步返回值 1.尝试获取异步返回值 function test(){ var res = 0; setTimeout(function(){ res = 1; },1000) return res } function opreation(){ var r = test() console.log(r) //输出结果为0 } 上述方法获取不到异步操作返回的数据,所以以上方法是错误的 2.回调函数获取 js可以将函数作为参数传递到另一个函数中执行 function test(

Tomorrow_one的博客 4659

js回调函数的使用

在第一次学js的时候,很多人估计对回调函数很蒙,今天有空梳理总结下回调函数,算是一次学习,算是一次总结,也算是一次分享。 回调函数执行流程 说明:fun是被调用的函数,在调用fun函数时传递一个被回调的函数callback,1、2、3、4为执行步骤,箭头指向为调用。 执行流程: 1)在代码中,fun首先被执行 2)fun函数执行,js的执行转移到fun函数内部,fun函数内部的语句从上往下执行 3)在fun函数中调用callback 4)在调用fun函数时传入的函数(callback)被执行 5)执行ca

Elltor 4069

js回调函数以及同步与异步

1. 背景介绍javascript的单线程特性由于javascript语言是一门“单线程”的语言,所以,javascript就像一条流水线,仅仅是一条流水线而已,要么加工,要么包装,不能同时进行多个任务和流程。 任务队列单线程就意味着,所有任务需要排队,前一个任务结束,才会执行后一个任务。如果前一个任务耗时很长,后一个任务就不得不一直等着。于是就有一个概念——任务队列。如果排队是因为计...

axgrfetia063590468的博客 1023

九句话轻松理解线程与异步以及回调函数[Javascript]

js异步 九句话轻松理解线程与异步以及回调函数。 在js中没有多线程,也就是说,在同一个时间只执行一个任务但是如果真是这样,那么像一些事件(如用户点击),如果永远不点击,那么后面的代码就永远都要一直等待,这个等待是无意义的,并且cpu也是空闲的所以把任务分成两种:同步任务和异步任务所谓『同步任务』,就是一般任务,在js中一个一个的按续执行所有同步任务都在主线程上执行,形成『执行栈』『异

web_zmw的博客 1931
上一篇: 11、引入com.google.inject包无法调用webdriver浏览器问题
下一篇: JavaNote 4.8 使用POI创建Excel
LetsStudy
博客等级 码龄9年 96粉丝 323原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值