
获得徽章 12
赞了这篇文章
赞了这篇文章
有时候我们需要将现有对象转为 Promise 对象,此时 Promise.resolve() 方法就起到这个作用。Promise.resolve()方法的参数分成四种情况,如果参数是 Promise 实例,那么Promise.resolve 将不做任何修改、原封不动地返回这个实例;如果参数是一个 thenable 对象,Promise.resolve() 方法会将这个对象转为 Promise 对象,然后就立即执行 thenable 对象的then()方法;如果参数不是具有then()方法的对象,或根本就不是对象, Promise.resolve() 方法返回一个新的 Promise 对象,状态为 resolved ;如果不带有任何参数,Promise.resolve()方法允许调用时不带参数,直接返回一个 resolved 状态的 Promise 对象;所以,希望得到一个 Promise 对象,比较方便的方法就是直接调用 Promise.resolve() 方法。
展开
评论
点赞
有时候,我们希望等到一组异步操作都结束了,不管每一个操作是成功还是失败,再进行下一步操作。为了解决这个问题,ES2020 引入了 Promise.allSettled() 方法,用来确定一组异步操作是否都结束了(不管成功或失败)。它的名字叫做 Settled ,包含了 fulfilled 和 rejected 两种情况。Promise.allSettled()方法接受一个数组作为参数,数组的每个成员都是一个 Promise 对象,并返回一个新的 Promise 对象。只有等到参数数组的所有 Promise 对象都发生状态变更(不管是fulfilled还是rejected),返回的 Promise 对象才会发生状态变更。
展开
评论
1
Promise有两个特点
1. 对象的状态不受外界影响。Promise对象代表一个异步操作,有三种状态:pending(进行中)、fulfilled(已成功)和rejected(已失败)。只有异步操作的结果,可以决定当前是哪一种状态,任何其他操作都无法改变这个状态。
2.一旦状态改变,就不会再变,任何时候都可以得到这个结果。Promise对象的状态改变,只有两种可能:从 pending 变为 fulfilled 和从 pending 变为 rejected 。只要这两种情况发生,状态就凝固了,不会再变了,会一直保持这个结果,这时就称为 resolved(已定型)。
1. 对象的状态不受外界影响。Promise对象代表一个异步操作,有三种状态:pending(进行中)、fulfilled(已成功)和rejected(已失败)。只有异步操作的结果,可以决定当前是哪一种状态,任何其他操作都无法改变这个状态。
2.一旦状态改变,就不会再变,任何时候都可以得到这个结果。Promise对象的状态改变,只有两种可能:从 pending 变为 fulfilled 和从 pending 变为 rejected 。只要这两种情况发生,状态就凝固了,不会再变了,会一直保持这个结果,这时就称为 resolved(已定型)。
展开
评论
点赞
Map与其他数据结构间的互相转换
1.Map 转为数组,使用扩展运算符
2.数组 转为 Map,将数组传入,就可以转为 Map
3.Map 转为对象,如果所有 Map 的键都是字符串,它可以无损地转为对象,如果有非字符串的键名,那么这个键名会被转成字符串,再作为对象的键名
4.对象转为 Map,对象转为 Map 可以通过Object.entries()
5.Map 转为 JSON 分两种情况,一种是 Map 的键名都是字符串,这时可以选择转为对象 JSON,另一种是 Map 的键名有非字符串,这时可以选择转为数组 JSON
6.JSON 转为 Map,正常情况所有键名都是字符串,但有种特殊情况,整个 JSON 就是个数组,且每个数组成员本身,又是一个有两个成员的数组,这时它可以一一对应地转为 Map
1.Map 转为数组,使用扩展运算符
2.数组 转为 Map,将数组传入,就可以转为 Map
3.Map 转为对象,如果所有 Map 的键都是字符串,它可以无损地转为对象,如果有非字符串的键名,那么这个键名会被转成字符串,再作为对象的键名
4.对象转为 Map,对象转为 Map 可以通过Object.entries()
5.Map 转为 JSON 分两种情况,一种是 Map 的键名都是字符串,这时可以选择转为对象 JSON,另一种是 Map 的键名有非字符串,这时可以选择转为数组 JSON
6.JSON 转为 Map,正常情况所有键名都是字符串,但有种特殊情况,整个 JSON 就是个数组,且每个数组成员本身,又是一个有两个成员的数组,这时它可以一一对应地转为 Map
展开
评论
点赞