每个循环中的 Cypress 等待命令

时间:2021-01-20 15:17:03

标签: javascript cypress

我有一组用于 api 调用的代码。我需要根据 api 调用响应停止每个循环。 期望的结果:每个循环在 resolve 返回 false 后停止; 当前结果:错误,函数返回永远不会解决的承诺;

cy.wrap(array).each(function(code, index, arr) {

     return new Cypress.Promise((resolve) => {
        cy.intercept('GET', ApiUrl + code).as(`searchApi${code}`);
        cy.get('input').type(code); // Sends the api request
        
        cy.wait(`@searchApi${code}`).then(({ request, response }) => {
          
          resolve(response.body.IsAcceptedForCollection);
        });
     }).finally(result => {
         return result;        // Result should be bool, false should stop each loop
     }); 
});

在停止循环或继续下一次迭代之前,我想等待每次迭代如何在 wait 命令中解决。

1 个答案:

答案 0 :(得分:0)

您应该尝试使用 async/await 模式。

相关问题