Я использую следующую функцию в транспортире, который использует функцию фильтра. Здесь let requiredArtifacts объявлено, и оно будет возвращаемым значением функции фильтра, когда обещание фильтра будет разрешено. Это означает, что когда я запускаю эту функцию, let lo c = requiredArtifacts.getLocation (); должен выдавать мне неопределенную ошибку, так как операция фильтра асинхронна и возвращает обещание. Но это довольно хорошо работает. Означает ли это, что функция фильтра не возвращает обещание, а действует синхронно. Пожалуйста, уточните, как я новичок в этой кодировке.
this.deleteRTI = function(rtiName, operationName){
let str = rtiName +' [Rule Template Instance]'
console.log(str)
let requiredArtifacts = this.listProjectsArtifacts.filter(function(element,index) {
return element.getText().then(function(text){
return text === str;
})
}).first();
let loc = requiredArtifacts.getLocation();
browser.actions().mouseMove(loc).perform();
browser.actions().click(protractor.Button.RIGHT).perform();
this.rightClickOperationsOnArtifacts('Delete')
this.confirmDeleteArtifacts.click()
return this.deployToastMessage.getText().then(function(text){
return text;
})
}