请参阅以下code:
'use strict';
const {Builder, By, Key, until} = require('..');
const {Options} = require('../chrome');
(async function() {
let driver;
try {
driver = await new Builder()
.forBrowser('chrome')
.setChromeOptions(new Options().androidChrome())
.build();
await driver.get('http://www.google.com/ncr');
await driver.findElement(By.name('q')).sendKeys('webdriver', Key.RETURN);
await driver.wait(until.titleIs('webdriver - Google Search'), 1000);
} finally {
await driver && driver.quit();
}
})().then(_ => console.log('SUCCESS'), err => console.error('ERROR: ' + err));
我的问题是:.then(_ ...
何时会被召唤?异步函数不返回任何内容;此外,它似乎捕捉到了所有可能的问题,除了最后,在那个"最后"。所以...是.then(
那么它会捕获驱逐驱动程序的错误吗?或者还有更多?
答案 0 :(得分:0)
当你在函数中抛出一个错误时,你的错误处理程序就会被调用。
(async function() {
throw 1;
})()
.then(_ => console.log('SUCCESS'), err => console.error('ERROR: ' + err))
此外,对于完整功能块,您不需要try-catch。这就是你当时的第二个论点将会处理的事情。