鍍金池/ 問答/HTML/ koa使用await無效

koa使用await無效

function timeout(ms) {
  return new Promise(resolve => {
    setTimeout(resolve, ms);
  });
}

app.use(async (ctx, next) => {
  await timeout(1000);
  //為什么下面的代碼沒有執(zhí)行,前端就得到了返回
  ctx.status = 200;
  ctx.body = { success: true };
});

代碼如上,使用 await timeout(1000)模擬數(shù)據(jù)庫(kù)等異步操作
當(dāng)有一個(gè)請(qǐng)求過來的時(shí)候, await timeout之后的代碼還沒有執(zhí)行前端就會(huì)得到返回404
然后執(zhí)行 ctx.status = 200;的時(shí)候會(huì)報(bào)錯(cuò)AssertionError [ERR_ASSERTION]: headers have already been sent,
把 await timeout去掉之后,前端就能得到正確的返回。
請(qǐng)問這個(gè)什么原因?如何解決?

回答
編輯回答
醉淸風(fēng)

我發(fā)現(xiàn)是我自己寫的logger里面沒有用await

2018年8月15日 12:29