Promise 对象有什么特殊的方法?
在前端开发中,我们常常需要处理异步操作,例如从服务器获取数据、读取本地文件等等。而 Promise 对象就是一种用于处理异步操作的技术。
Promise 对象是一个 JavaScript 对象,它代表了一个异步操作的最终完成或失败,并返回相应的结果。Promise 对象有以下特殊的方法:
- then() 方法
Promise 对象的 then() 方法是其最基本的方法之一,它用于注册回调函数,当 Promise 对象的状态变为 resolved 时,then() 方法就会被调用。
语法:promise.then(onFulfilled, onRejected)
其中,onFulfilled 是当 Promise 对象的状态变为 resolved 时应该被调用的回调函数,而 onRejected 是当 Promise 对象的状态变为 rejected 时应该被调用的回调函数。这两个参数都是可选的。
示例代码:
-- -------------------- ---- ------- --- ------- - --- ----------------- ------- -- - ------------- -- - --------------- --------- -- ------ --- --------------------- -- - -------------------- ---展开代码
- catch() 方法
Promise 对象的 catch() 方法是用于捕获 Promise 对象的错误的方法。当 Promise 对象的状态变为 rejected 时,catch() 方法就会被调用。
语法:promise.catch(onRejected)
其中,onRejected 是当 Promise 对象的状态变为 rejected 时应该被调用的回调函数。
示例代码:
-- -------------------- ---- ------- --- ------- - --- ----------------- ------- -- - ------------- -- - ---------- ---------------- ---- ---------- -- ------ --- --------------------- -- - --------------------------- ---展开代码
- finally() 方法
Promise 对象的 finally() 方法是用于在 Promise 对象的状态变为 resolved 或 rejected 时执行一些代码的方法。不管 Promise 对象的状态如何,finally() 方法都会被调用。
语法:promise.finally(onFinally)
其中,onFinally 是在 Promise 对象的状态变为 resolved 或 rejected 时应该被调用的回调函数。
示例代码:
-- -------------------- ---- ------- --- ------- - --- ----------------- ------- -- - ------------- -- - --------------- --------- -- ------ --- ------------------ -- - -------------------- ------------ ---展开代码
- Promise.all() 方法
Promise.all() 方法用于将多个 Promise 对象组合成一个 Promise 对象,并在所有 Promise 对象都完成后返回一个包含所有结果的数组。
语法:Promise.all(iterable)
其中,iterable 是一个可迭代的对象,例如一个数组。
示例代码:
-- -------------------- ---- ------- --- -------- - --- ----------------- ------- -- - ------------- -- - ----------------- -- ------ --- --- -------- - --- ----------------- ------- -- - ------------- -- - ------------------ -- ------ --- ---------------------- ------------------------- -- - -------------------------- ---- ---展开代码
- Promise.race() 方法
Promise.race() 方法用于将多个 Promise 对象组合成一个 Promise 对象,并在其中任何一个 Promise 对象完成后返回其结果。
语法:Promise.race(iterable)
其中,iterable 是一个可迭代的对象,例如一个数组。
示例代码:
-- -------------------- ---- ------- --- -------- - --- ----------------- ------- -- - ------------- -- - ----------------- -- ------ --- --- -------- - --- ----------------- ------- -- - ------------- -- - ------------------ -- ------ --- ----------------------- ------------------------ -- - -------------------- ---展开代码
通过学习 Promise 对象的特殊方法,我们可以更加高效地处理异步操作,并提高代码的可读性和可维护性。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/67cb89f4e46428fe9e478d71