各位老铁,大家好!我是你们的老朋友,今天咱不聊风花雪月,来点硬核的——Promise.any和Promise.allSettled,看看这哥俩在并发控制里能整出啥新花样。 开场白:并发控制,你我的痛 话说,咱们写代码,尤其是涉及到网络请求、异步操作的时候,并发控制绝对是个绕不开的坎儿。搞不好,辛辛苦苦写的代码,就成了并发的牺牲品,bug 满天飞,用户体验稀烂。 以前,我们控制并发,要么自己手写各种复杂的逻辑,要么用一些现成的库,比如 async.js,但总觉得差点意思,不够优雅,不够现代。 现在不一样了,ES2020 带来了 Promise.any 和 Promise.allSettled,这两个家伙,简直是并发控制领域的两员猛将,能让我们轻松搞定各种并发场景。 第一回合:Promise.any——只要你行,我就行! Promise.any 就像一个“选秀节目”,给它一堆 Promise,只要其中一个成功了,它就成功了!如果所有的 Promise 都失败了,它才会失败,并抛出一个 AggregateError 错误,告诉你“没一个行的!” 语法: Promise.any(iterabl …
继续阅读“JavaScript内核与高级编程之:`Promise.any`和`Promise.allSettled`:其在并发控制中的新用途。”