我是Node的新手并创建了一个应用程序,其中包含一些async / await语法,如下所示:
const express = require('express'); const app = express(); const someLibrary = require('someLibrary'); function asyncWrap(fn) { return (req,res,next) => { fn(req,next).catch(next); }; }; app.post('/getBlock',asyncWrap(async (req,next) => { let block = await someLibrary.getBlock(req.body.id); [some more code] })); app.listen(process.env.PORT || 8000);
它在我的机器上工作正常,但是当我部署到Heroku时,我收到错误,因为语法不受支持:
2017-03-23T10:11:13.953797+00:00 app[web.1]: app.post('/getBlock',next) => { 2017-03-23T10:11:13.953799+00:00 app[web.1]: SyntaxError: Unexpected token (
解决方法
指定要在package.json中使用的节点版本:
https://devcenter.heroku.com/articles/nodejs-support#specifying-a-node-js-version
因此,对于async / await支持,您需要指定> = 7.6.0
{ "engines": { "node": ">= 7.6.0" } }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。