我试图从代码中删除异步等待状态
before(async () => {
await tests.env();
token = await tests.getToken(accMock, 'acceptor');
});
我的尝试
tests.env()
.then((output) => output.getToken(accMock, 'acceptor')
.then((v) => (token = v)));
但是此代码未通过测试。有什么问题吗?
答案 0 :(得分:1)
这两个代码不相等。您的第一段代码是:
before(async () => {
await tests.env();
token = await tests.getToken(accMock, 'acceptor');
});
用async / await重写的第二段代码是:
before(async () => {
let output = await tests.env();
let v = await output.getToken(accMock, 'acceptor');
token = v;
});
请注意,在第一个代码中,您呼叫tests.getToken()
,在第二个代码中您呼叫output.getToken()
。
正确的重写是:
before(() => {
return tests.env()
.then(() => tests.getToken(accMock, 'acceptor'))
.then(v => token = v);
});