Promise.try()
时间: 2023-11-03 22:55:46 浏览: 135
js代码-promise测试
`Promise.try()` 是一个用于创建带有错误处理的 Promise 的方法。它允许您在一个函数中执行同步或异步的操作,并将结果封装在一个 Promise 对象中。
使用 `Promise.try()`,您可以在函数中捕获错误,并将其作为拒绝(rejected)的 Promise 返回。这样,您就可以统一处理同步和异步操作中的错误。
下面是一个示例:
```javascript
function divide(a, b) {
return Promise.try(() => {
if (b === 0) {
throw new Error('Cannot divide by zero');
}
return a / b;
});
}
divide(10, 2)
.then(result => console.log('Result:', result))
.catch(error => console.error('Error:', error));
divide(10, 0)
.then(result => console.log('Result:', result))
.catch(error => console.error('Error:', error));
```
在上面的示例中,我们定义了一个 `divide` 函数,它接受两个参数。我们使用 `Promise.try()` 包装了函数体,以便可以捕获可能发生的错误。如果除数 `b` 为零,则会抛出一个错误。在调用 `divide` 函数时,我们使用 `.then()` 处理成功的情况,并使用 `.catch()` 处理错误的情况。
这样,无论是同步还是异步的错误,都会以拒绝的 Promise 形式返回,方便您对错误进行处理。
阅读全文