koa2異步處理之async+await配合promise


這兩天試了下koa2,之前用express回調之后渲染頁面的方式出錯了,在koa2上執行流程不對,說白了就是代碼的執行順序錯了,然后就上網找資料,認真的看了下文檔終於搞明白了async+await配合promise的用法!!!! 不多說直接上碼吧......

router.get('/', async function (ctx,next) {
    ctx.state = {
    title: 'title'
  };
  function timeout(ms) {
    console.log("111");
    return new Promise((resolve) => {
    setTimeout(resolve, ms);
    });
  }

  await timeout(1000).then(() => {
    console.log('222');
 });

 console.log("333");
 ctx.body=ctx;
});

 

代碼執行結果

111 222 333 

這個代碼看懂了其實就懂了koa2的async+await配合promise的用法了……


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM