做网站的公司合肥网页制作网站发布教学设计

张小明 2026/1/10 18:19:24
做网站的公司合肥,网页制作网站发布教学设计,怎么做电商卖东西,码制作二维码生成器文章目录Promise 教程为什么要使用 PromisePromise 的作用面试题输出顺序#xff08;二星#xff09;输出顺序#xff08;三星#xff09;快手面试题深信服面试题**链式调用原则**Promise 链式调用原则返回值传递错误冒泡链的拆分与合并隐式 Promise 解析链的终止Promise 教…文章目录Promise 教程为什么要使用 PromisePromise 的作用面试题输出顺序二星输出顺序三星快手面试题深信服面试题**链式调用原则**Promise 链式调用原则返回值传递错误冒泡链的拆分与合并隐式 Promise 解析链的终止Promise 教程Promise 是 JavaScript 中用于处理异步操作的对象代表一个异步操作的最终完成或失败及其结果值。它有三种状态pending进行中、fulfilled已成功和rejected已失败。为什么要使用 PromisePromise 的作用Promise 是一种用于处理异步操作的编程模式能够更优雅地管理异步代码避免回调地狱Callback Hell提高代码的可读性和可维护性。Promise 实现// 许下一个承诺有三种状态// promise状态--- 等待 --- 成功或者失败// reslove 成功的回调函数// reject 失败的回调函数letisForgettrue;// true 得到礼物// false 道歉letcnnewPromise((reslove,reject){if(isForget){letl{color:greenprice:$99}reslove(l)}else{leterrnewError(道歉)reject(err}})lettestfunction(){cn.then((res){console.log(res)}).catch((err){console.log(err.message)})}test()为什么Promise能代替回调函数比回调函数做的更好回调函数嵌套是N层的Promise永远只有两层代码更加清晰简洁script// 常规回调函数run(0);setTimeout((){run(1);setTimeout((){run(2);setTimeout((){run(3);},1000);},1000);},1000);// 使用 setTimeout 给每个 run 调用添加定时器setTimeout(()run(0),0);newPromise((resolve){setTimeout((){run(1);resolve();},100);}).then((){setTimeout((){run(2);},200);}).then((){setTimeout((){run(3);},300);});/script面试题输出顺序二星script// Promise 的构造函数 同步执行// new Promise 是一个宏任务constpromisenewPromise((resolve,reject){console.log(1);resolve();console.log(2);})// .then .catch 是有微任务 异步执行promise.then((){console.log(3);})// 同步console.log(4);// 1 2 4 3/script输出顺序三星script// 构造函数只执行一次.then可以多次调用constpromisenewPromise((resolve,reject){setTimeout((){//只执行一次console.log(1);//返回值resolve(2);},1000)})//返回 2promise.then((res){console.log(res);})//返回 2promise.then((res){console.log(res);})/script快手面试题填写括号内的内容两秒后返回一个值scriptfunctionsleep(time){【returnnewPromise((){setTimeout((){console.log(timeout)},time)】})}sleep(2000).then((){console.log(1);})/script深信服面试题走了.then但返回一个Errorscript// 链式调用// 有两个.then 代表有两个promise//链式调用的原则 上一个promise返回的结果不管是成功还是失败都会把你当成第二个promise成功时的回调Promise.resolve().then((){returnnewError(error!!!)}).then((res){console.log(res:,res)}).catch((err){console.log(err:,err)})/script补充知识点链式调用原则Promise 链式调用原则Promise 的链式调用是异步编程的核心特性之一通过.then()和.catch()方法实现顺序执行异步操作。以下是链式调用的关键原则返回值传递每次调用.then()或.catch()会返回一个新的 Promise后续链式调用基于前一个 Promise 的返回值。如果回调函数返回非 Promise 值该值会作为下一个.then()的输入如果返回 Promise则等待其解决后再传递结果。fetchData().then(dataprocess(data))// 返回处理后的数据.then(resultsave(result));// result 是 process(data) 的返回值错误冒泡链式调用中错误会一直向后传递直到被.catch()捕获。中间的任何.then()跳过直接跳转到最近的错误处理函数。fetchData().then(datamightThrowError(data)).then(resultconsole.log(result)).catch(errorconsole.error(error));// 捕获前面所有步骤的错误链的拆分与合并通过返回新的 Promise可以拆分或合并逻辑链。例如并行执行多个异步操作时可用Promise.all合并结果。fetchUser().then(userPromise.all([fetchProfile(user.id),fetchPosts(user.id)])).then(([profile,posts])mergeData(profile,posts));隐式 Promise 解析如果.then()的回调未显式返回 Promise引擎会自动将返回值包装为 resolved Promise。若抛出异常则包装为 rejected Promise。fetchData().then(data{if(!data)thrownewError(No data);// 自动转为 rejected Promisereturndata.value;// 自动转为 resolved Promise});链的终止未处理的 rejected Promise 可能导致静默失败。建议始终在链式调用末尾添加.catch()或使用async/await的try-catch结构。fetchData().then(handleData).catch(logError);// 终止链并处理所有可能的错误通过遵循这些原则可以构建清晰、可维护的异步代码流程。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

网站制作公司信科网络信息技术咨询公司

活动目录管理与维护全解析 1. 利用组策略保障安全 活动目录中,组策略是一项强大且实用的技术。系统管理员借助组策略设置,能为用户、组和组织单位(OU)分配数百种不同的设置和选项。在安全方面,可通过组策略控制密码策略、用户权限和账户锁定设置等重要功能。 1.1 有效使…

张小明 2026/1/3 5:08:10 网站建设

湖南3合1网站建设电话软件商城电脑版下载

AI智能棋盘结合FlexiForce A201实现接触力感知的深度实践在一场高水平围棋对弈中,职业棋手落子时的“重拍”常被视为气势宣示,而轻柔一放则可能暗示试探或保留。这些细微的动作承载着丰富的心理信息——但传统电子棋盘对此却毫无感知能力。它们只能判断“…

张小明 2026/1/2 18:38:51 网站建设

中国中小企业网站红色网站建设的作用和意义

真正的安全能力,不体现在某一次攻防胜负,而体现在企业“持续不被打垮”的能力上。在这个系列中,我们从攻击者视角理解漏洞、横向移动、权限提升,从防守者角度学习日志分析、EDR、零信任、云原生安全、AI 安全运营。到这里&#xf…

张小明 2026/1/3 1:16:07 网站建设

如何做国际网站首页带商城的wordpress

Linly-Talker部署常见错误及解决方案大全 在虚拟主播、AI客服和智能教育日益普及的今天,越来越多企业和开发者希望快速构建具备自然对话能力的数字人系统。然而,从零搭建一个集语言理解、语音交互与面部动画于一体的智能体,往往需要跨多个AI领…

张小明 2026/1/6 15:13:07 网站建设

网站 数据备份网络平台的推广方法

Vector零代码日志处理:10分钟构建高性能数据管道的完整指南 【免费下载链接】vector vector - 一个高性能的开源 observability 数据管道工具,用于日志和指标的收集、转换和路由,适合对数据处理和监控系统开发感兴趣的程序员。 项目地址: h…

张小明 2026/1/3 0:09:59 网站建设

口碑好网站建设哪家好网站营售

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

张小明 2026/1/3 13:23:39 网站建设