Koa中的异步错误?

时间:2017-03-28 07:40:06

标签: node.js koa

我想用POST方法实现一个API,但是当我启动我的服务器时出现错误:

 3450:~/Desktop/koa/ctx$ node koa2.js 
    /home/358/Desktop/koa/ctx/koa2.js:9
    router.post('/locations', async (ctx, next) =>{ 
                                    ^
    SyntaxError: Unexpected token (
        at Object.exports.runInThisContext (vm.js:76:16)
        at Module._compile (module.js:542:28)
        at Object.Module._extensions..js (module.js:579:10)
        at Module.load (module.js:487:32)
        at tryModuleLoad (module.js:446:12)
        at Function.Module._load (module.js:438:3)
        at Module.runMain (module.js:604:10)
        at run (bootstrap_node.js:394:7)
        at startup (bootstrap_node.js:149:9)
        at bootstrap_node.js:509:3
    358@daffolap358-Latitude-3450:~/Desktop/koa/ctx$

谁能告诉我我做错了什么?

我的代码是: 的 server.js:

var Koa =require('koa');
var middleware =require('koa-router');
var logger =require('koa-logger');
var parser =require('koa-bodyparser');
const router = middleware();
const app = new Koa();

router.post('/locations', async (ctx, next) =>{ 
    console.log("ctx");
    });
app
  .use(logger()) // Logs information.
  .use(parser()) // Parses json body requests.
  .use(router.routes()) // Assigns routes.
  .use(router.allowedMethods())
app.listen(5050, () => console.log('Listening on port 5050.'));
export default app;

2 个答案:

答案 0 :(得分:1)

检查您的节点版本。它应该是> = 7.6.0。否则koa-2和async-await模式将不起作用。

答案 1 :(得分:1)

您收到此错误是因为您的节点版本低于7.6.0。 它应该大于7.6,Node 7.6中的Async / await支持来自将V8,Chromium的JavaScript引擎更新到版本5.5。