簡體   English   中英

替換異步等待到

[英]Replacement async-await to then

我試圖從代碼中刪除異步等待

before(async () => {
  await tests.env();
  token = await tests.getToken(accMock, 'acceptor');
});

我的嘗試:

tests.env()
  .then((output) => output.getToken(accMock, 'acceptor')
  .then((v) => (token = v)));

但是此代碼未通過測試。 有什么事嗎

這兩段代碼不相同。 您的第一段代碼是:

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);
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM