這兩天試了下koa2,以前用express回調以後渲染頁面的方式出錯了,在koa2上執行流程不對,說白了就是代碼的執行順序錯了,而後就上網找資料,認真的看了下文檔終於搞明白了async+await配合promise的用法!!!! 很少說直接上碼吧......express
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; });
代碼執行結果promise
111 222 333
這個代碼看懂了其實就懂了koa2的async+await配合promise的用法了……koa