javascript 异步回调链式调用 promise
<script> new Promise((resolve,reject) => { setTimeout(()=>{ resolve('sss'); },1000); }).then((data) =>{ console.log(data);//注意,此处不能写异步回调,异步必须写在下面的promise方法体内部,否则会有问题 return new Promise(resolve => { resolve(data + "bbb"); }); }).then(data =>{ console.log(data) }); </script>
还有一个Promise.all方法
Promise.all([ new Promise((resolve, reject) => { setTimeout(() => { resolve(null); }, 1000); }), new Promise((resolve, reject) => { setTimeout(() => { resolve(null); }, 3000); }) ]).then(result => { alert("ok"); });
Promise.all的语法是并发的,如果要顺序执行:
var promise = new Promise((resolve, reject) => { setTimeout(() => { resolve(null); }, 1); //延迟以便后续的then可以接上 }); for (var i = 0; i < 100; i++) { let num = i; promise = promise.then(data => { return new Promise((resolve, reject) => { console.log("start " + num); setTimeout(() => { console.log("end " + num); resolve(num); }, 10); }) }); promise.num = i; } promise.then(data => { console.log("all over") });
桂棹兮兰桨,击空明兮溯流光。
【推荐】国内首个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满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
2020-11-02 代码可控安装 iis
2020-11-02 vbs以管理员身份运行安装iis