Promise 是 JavaScript 中处理异步操作的一种方式,它允许我们在异步操作完成后执行一些代码。在以前的版本中,我们只能使用 then() 方法来处理 Promise 的结果,但是在 ECMAScript 2019 中,我们现在可以使用 catch() 方法来捕获 Promise 的值和错误。
catch() 方法
catch() 方法是 Promise 对象的一个方法,它接收一个回调函数作为参数,当 Promise 被 reject 时,该回调函数会被调用。如果 Promise 被 resolve,则 catch() 方法不会被调用。
下面是一个使用 catch() 方法的示例:
// javascriptcn.com 代码示例 const promise = new Promise((resolve, reject) => { setTimeout(() => { reject('error'); }, 1000); }); promise.catch((error) => { console.log(error); // 'error' });
在上面的示例中,我们创建了一个 Promise,它在 1 秒后被 reject,并且在 catch() 方法中打印了错误信息。
使用 catch() 捕获 Promise 值
在以前的版本中,我们只能使用 then() 方法来处理 Promise 的结果。但是在 ECMAScript 2019 中,我们现在可以使用 catch() 方法来捕获 Promise 的值。
下面是一个使用 catch() 方法来捕获 Promise 值的示例:
// javascriptcn.com 代码示例 const promise = new Promise((resolve, reject) => { setTimeout(() => { resolve('value'); }, 1000); }); promise.catch((value) => { console.log(value); // 'value' });
在上面的示例中,我们创建了一个 Promise,它在 1 秒后被 resolve,并且在 catch() 方法中打印了 Promise 的值。
使用 catch() 捕获 Promise 错误
catch() 方法不仅可以捕获 Promise 的值,还可以捕获 Promise 的错误。我们可以在 Promise 被 reject 时使用 catch() 方法来捕获错误。
下面是一个使用 catch() 方法来捕获 Promise 错误的示例:
// javascriptcn.com 代码示例 const promise = new Promise((resolve, reject) => { setTimeout(() => { reject(new Error('error')); }, 1000); }); promise.catch((error) => { console.log(error); // Error: error });
在上面的示例中,我们创建了一个 Promise,它在 1 秒后被 reject,并且在 catch() 方法中打印了错误信息。
总结
在 ECMAScript 2019 中,我们现在可以使用 catch() 方法来捕获 Promise 的值和错误。使用 catch() 方法可以让我们更好地处理 Promise 的结果和错误,从而提高代码的可读性和可维护性。
如果你还不熟悉 Promise 的使用,建议先学习 Promise 的基础知识,然后再学习如何使用 catch() 方法来处理 Promise 的结果和错误。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/6568630ad2f5e1655d12be3e