gpt4 book ai didi

typescript - 在 Promise 链中尝试返回到下一个时出现错误 ElementArrayFinder 不可分配

转载 作者:搜寻专家 更新时间:2023-10-30 22:00:07 25 4
gpt4 key购买 nike

我正在使用 TypeScript 来自动化 E2E 测试。如果我做一些事情,比如self.all(by.xpath(".//thead/tr/th|.//thead/tr/td")).then... 它运行良好。

但是,如果我将它放在 Promise 链中,我的 IDE 会突出显示文本 .all 并提示“ElementArrayFinder 不可分配”。

TS2345:Argument of type '() => ElementArrayFinder' is not assignable to parameter of type '(value: {}) => any[] | ElementFinder[] | IThenable'. Type 'ElementArrayFinder' is not assignable to type 'any[] | ElementFinder[] | IThenable'. Type 'ElementArrayFinder' is not assignable to type 'IThenable'. Property 'cancel' is missing in type 'ElementArrayFinder'.

getAllHeader() {
let self = this;
return new Promise(function (resolve, reject) {
let textArr = [];
browser.executeScript('arguments[0].scrollIntoView()', self.getWebElement())
.then(function () {
return self.all(by.xpath(".//thead/tr/th|.//thead/tr/td"))
})
.then(function (eleArr) {
.................
})
.catch(function (reason) {
reject(reason);
})
});

}

最佳答案

我认为您应该显式设置您的 self 属性的类型,以帮助编辑器了解 self 元素的可用功能。

像这样:

让 self:ElementFinder = this;

我在我的编辑器中对其进行了测试并且它有效。

关于typescript - 在 Promise 链中尝试返回到下一个时出现错误 ElementArrayFinder 不可分配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45605956/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com