promise的函数有哪些

2025-01-10 14:52:59   小编

Promise的函数有哪些

在JavaScript异步编程中,Promise是一个极为重要的概念,它提供了一系列强大的函数来处理异步操作。了解这些函数,能极大提升我们处理异步任务的效率和代码的健壮性。

首先是 then() 函数。这是Promise最常用的函数之一,它用于处理Promise的成功状态。当Promise被成功解决(resolved)时,会执行 then() 回调函数中的代码。例如:

const promise = new Promise((resolve) => {
    setTimeout(() => {
        resolve('成功的结果');
    }, 1000);
});

promise.then((result) => {
    console.log(result); 
});

上述代码中,promise 经过一秒后被成功解决,then() 函数接收 resolve 传递的结果并打印出来。

catch() 函数则用于处理Promise的失败状态。当Promise被拒绝(rejected)时,会执行 catch() 回调函数中的代码。比如:

const errorPromise = new Promise((_, reject) => {
    setTimeout(() => {
        reject(new Error('发生错误'));
    }, 1500);
});

errorPromise.catch((error) => {
    console.error(error); 
});

这里 errorPromise 经过一秒半后被拒绝,catch() 捕获到错误并在控制台打印错误信息。

finally() 函数无论Promise的状态如何都会执行。它接收一个回调函数,不管Promise是成功还是失败都会执行该回调。例如:

const anyPromise = new Promise((resolve) => {
    setTimeout(() => {
        resolve('任意状态');
    }, 2000);
});

anyPromise
 .then((res) => console.log(res))
 .catch((err) => console.error(err))
 .finally(() => console.log('无论如何都会执行'));

这段代码中,finally() 里的内容在Promise解决后一定会执行。

除了实例方法,Promise还有一些静态方法。比如 Promise.all(),它接收一个Promise数组,只有当数组中的所有Promise都成功解决时,它返回的Promise才会成功,并且返回一个包含所有Promise结果的数组。Promise.race() 同样接收一个Promise数组,哪个Promise先完成(成功或失败),它返回的Promise就以哪个Promise的结果或错误来结束。

掌握Promise的这些函数,能让我们在异步编程中更加得心应手,编写出更高效、更可靠的代码。

TAGS: Promise应用场景 Promise特性 Promise函数 Promise相关概念

欢迎使用万千站长工具!

Welcome to www.zzTool.com