在 Promise.try() 还没有提出时,我们可以使用下面的代码变通实现:

Promise.resolve() 创建一个结果为 undefined 的 Promise。该结果对我们不重要。重要的是我们必须由 Promise 链开始且尝试在开始于行 A 的回调函数中执行代码。

如果可以使用 async 函数,在它的函数体内部转换所有的异常,那将是更好的选择。当然,有时候需要直接使用 Promise 编码,Promise.try() 是有用的。

在它的回调函数内部的代码与 .then() 回调函数一致,且更容易移除。

它更具自我描述性,并且更加简洁。

本文作者 Axel Rauschmayer,转载请注明来源链接: