Js 的异步解决方案(回调函数,Promise,async,obserable)
js的内部代码执行是单线程的,这就意味着js代码如果不做特殊处理,所有的代码执行顺序都是同步的,即从头到尾执行。但是,随着前端功能的越来越多样化,为了节省时间,提高效率,便需要使用异步,即多线程执行。所以,前端的伪多线程,异步解决方案应运而生。从最早的回调函数,到Promise,再到Generator函数,再到新的状态管理工具,reactX等多样,新潮的异步解决方案。下面就是一些关于他们的简单介绍。
1.回调函数:所谓回调函数,就是把任务的第二段单独写在一个函数里面,等到重新执行这个任务的时候,就直接调用这个函数
我的理解:就是把还不执行的代码以一个函数的形式保存着,并不执行。当之后某个条件达成,直接调用这个函数,执行代码。回头了来调用,所以叫回调。
借用一下一峰大神的例子(读取文件):
1 fs.readFile('/etc/passwd', function (err, data) { 2 if (err) throw err; 3 console.log(data); 4 });
先来看下这个例子,这是一个读取文件后,执行blabla...的函数。它先会执行读取文件操作,并不执行第二个函数,然后再继续往后执行。等读完文件后,再次回头执行第二个函数。这就一个典型的自动回调函数,yeah!✌
2.Promise:一个前端异步解决方案,也就是为了实现异步而诞生的。
要理解Promise,得先来看看Promise到底是什么,以及它所运行的规则是什么。一言不合上代码。
1 var promise = new Promise(function(resolve, reject){ 2 // ... some code 3 4 if (/* 异步操作成功 */) { 5 resolve(value); 6 } else { 7 reject(error); 8 } 9 })
查阅引用的来源,如有侵权,立删
1.阮一峰 Generator 函数的含义与用法;async 函数的含义和用法
2.流眸Tel JS执行——Promise
本文来自博客园,作者:两块五的菜鸟,转载请注明原文链接:https://www.cnblogs.com/rushintocloud/p/15095411.html
分类:
web 前端
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!