然后)
返回的“ Thenable”没有\)
。
)
如果我在异步函数中使用try-catch:
ElementFinder.isDisplayed
我做捕获了异常,但是随后我从Node收到了UnhandledPromiseRejectionWarning,并带有弃用警告:
catch
如何处理承诺的拒绝?我不能在isDisplayed返回的值上使用let promise = element(by.css('donut')).isDisplayed();
console.log(promise.then); // => (fn, errorFn) => ...
console.log(promise.catch); // => undefined
,显然在异步函数中使用try-catch是不够的。
注意:我知道我可以使用try {
await e.isDisplayed();
} catch (e) {
console.log(e);
}
来预先确定(node:12296) UnhandledPromiseRejectionWarning: NoSuchElementError: No element found using locator: By(css selector, donut)
...
(node:12296) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
是否会抛出,但是问题不是如何避免此错误,而是为什么无法捕获它。