Javascript 读取文件时出错:类型为';等待&x27;操作数必须是有效的承诺,或者不能包含可调用的';然后';成员

Javascript 读取文件时出错:类型为';等待&x27;操作数必须是有效的承诺,或者不能包含可调用的';然后';成员,javascript,async-await,Javascript,Async Await,我有一个错误:'await'操作数的类型必须是有效的承诺,或者不能包含可调用的'then'成员。'。这是我在下面的尝试 it('downloads successfully',async()=>{ cy.get(下载按钮)。单击(); const csv=wait cy.readFile(文件名,{timeout:15000}); csv.应('have.length.gt',20); 期望(csv,'记录数').to.have.length(10); }) 以前 cy.readFile(文件

我有一个错误:'await'操作数的类型必须是有效的承诺,或者不能包含可调用的'then'成员。'。这是我在下面的尝试

it('downloads successfully',async()=>{
cy.get(下载按钮)。单击();
const csv=wait cy.readFile(文件名,{timeout:15000});
csv.应('have.length.gt',20);
期望(csv,'记录数').to.have.length(10);
})
以前

cy.readFile(文件名,{timeout:15000})
.should('have.length.gt',20)
.然后(验证ECSV);

readFile
方法不会返回承诺,因此您不能使用wait,但
应该
会返回承诺。您可以像这样编写上述实现

 it('downloads successfully', async () => {
        cy.get(downloadButton).click();

        const csv = cy.readFile(filename, { timeout: 15000 });
        const res= await csv.should('have.length.gt', 20);
        expect(res, 'number of records').to.have.length(10);
})

这是柏树吗?Cypress的IO方法不返回
Promise
。看这里:谢谢,原来这就是答案。我没有意识到cypress的承诺并不是真正的承诺。很高兴接受,如果你把它作为一个答案。谢谢你的回答。奇怪的是,我仍然在
const res=await csv.should(…)
行中遇到同样的错误。