8个关于Promise高级用途的技巧
在js项目中,promise的使用应该是必不可少的,但我发现在同事和面试官中,很多中级以上的前端仍然坚持promiseInst.then()、promiseInst.catch()、Promise等常规用法等等。即使是 async/await 他们也只知道它但不知道为什么要使用它。
阅读量: 485标签: Promise
Promise出了个新方法:Promise.withResolvers()
这样挺麻烦的,总是定义额外变量去存储这个 resolve,reject。但在 Chrome 119(发布于2023年10月31日)版本之后,可以使用以下方式实现
阅读量: 669标签: Promise
Promise.allSettled()的用法
Promise.allSettled()是一个JavaScript方法,它返回一个promise,在所有给定的promise都完成(成功或失败)后完成。与Promise.all()方法不同,Promise.allSettled()方法不会因为某个promise失败而导致整个操作失败
阅读量: 1k标签: Promise
如何中断Promise链?
Promise 有个缺点就是一旦创建就无法取消,所以本质上 Promise 是无法被终止的,但我们在开发过程中可能会遇到下面两个需求
阅读量: 1.8k标签: Promise
高级 Promise 模式:Promise缓存
在本文中,我们将介绍常见的缓存实现在并发条件下存在的问题。然后我们将介绍如何修复它,并且在此过程中简化代码。我们将通过介绍 基于 Singleton Promise 模式 的 Promise Memoization 模式来做到这一点。
阅读量: 1.1k标签: Promise
ES6 Promise详解
本文主要是对Promise本身的用法做一个全面解析而非它的原理实现,如果你对Promise的用法还不是很熟悉或者想加深你对Promise的理解,我相信这篇文章一定会帮到你。
阅读量: 852标签: Promise
如何将一个大的Promise.all拆分为几个较小的部分依次执行
这个Promise.all需要遍历一个指定目录中的所有文件,并以异步的方式读取文件内容并进行后续操作。由于目录中的文件数目比较多(大约8000+),Promise.all在执行的过程中有许多文件读取失败
阅读量: 1.2k标签: Promise
使用reduce进行Promise排队执行?你们学会了吗?
在平时的开发中,我们涉及到多个异步方法的执行的时候,就会想到一个方法Promise.all,这个方法可以将所有异步操作返回的结果,按顺序组成一个数组,返回给你
阅读量: 1.5k标签: Promise
这篇手写 Promise 你一定要康康
最近重温了一下 Q/Promise的设计讲解,结合自己的理解和一些小优化,决定也来写一篇手写 Promise 的文章。我们先以观察者模式作为基石来搭建一个基础版本,实现的功能如下:
阅读量: 1k标签: Promise
return await promise 与 return promise 这细微的区别
当从一个异步函数的promise返回时,我们可以使用return await promise等待 promise 解析完,也可以直接返回它 return promise。
阅读量: 942标签: Promise
你可能不了解的 Promise 微任务类型
先来看一道示例题。按照以往的理解,我以为输出顺序是 2 1 3 4。然后通过调试发现 promise1 在初始化后状态依然是 pending,感觉自己在理解 Promise 微任务方面还是存在不足。
阅读量: 1.2k标签: Promise
关于Promise的执行顺序
我们知道,Promise 实例化时,传入的回调会立即执行,而Promise 的 then 回调会被放到微任务队列中,等待执行。队列就是一个先进先出的列表,先被放到队列的回调,会被优先执行
阅读量: 1.1k标签: Promise
深入理解 Promise
对于前端开发者们来说,ES6 的学习已经成为必然,其中的 Promise 更是频繁出没于各大面试题,因此了解 Promise 已经不能简简单单的会用,更需要深入原理
阅读量: 1.1k标签: Promise
什么是 Promise.allSettled() !
Promise.allSettled() 方法返回一个在所有给定的 promise 都已经 fulfilled 或 rejected 后的 promise,并带有一个对象数组,每个对象表示对应的 promise 结果。
阅读量: 1.4k标签: Promise
Promise并发控制
但是有个问题是,因为 promise 创建后会立即执行,也就是说传入到 promise.all 中的多个 promise 实例,在其创建的时候就已经开始执行了,如果这些实例中执行的异步操作都是 http 请求,那么就会在瞬间发出 n 个 http 请求,这样显然是不合理的
阅读量: 2.2k标签: Promise