Heroku给出BABEL_PARSE_ERROR,等待在部署后得到意外保留字



我正在开发一个Facebook信使聊天机器人。在上次部署到Heroku之后,我收到了Heroku控制台的BABEL_PARSE_ERROR,并说wait是意外的保留字。我的依赖项如下。。我使用的是node最新版本(16.14.0(

"dependencies": {
"@babel/core": "^7.17.2",
"@babel/node": "^7.16.8",
"@babel/preset-env": "^7.16.11",
"dotenv": "^14.2.0",
"ejs": "^3.1.6",
"express": "^4.17.2",
"nodemon": "^2.0.15",
"request": "^2.88.2"
}

我在访问Heroku控制台时出错。。。

/app/node_modules/@babel/core/lib/parser/index.js:93
2022-02-12T10:36:33.503358+00:00 app[web.1]: throw err;
2022-02-12T10:36:33.503359+00:00 app[web.1]: ^
2022-02-12T10:36:33.503359+00:00 app[web.1]:
2022-02-12T10:36:33.503360+00:00 app[web.1]: SyntaxError: /app/src/services/chatbotService.js: Unexpected reserved word 'await'. (11:21)
2022-02-12T10:36:33.503360+00:00 app[web.1]:
2022-02-12T10:36:33.503361+00:00 app[web.1]: 9 |   return new Promise((resolve, reject) => {
2022-02-12T10:36:33.503361+00:00 app[web.1]: 10 |     try {
2022-02-12T10:36:33.503362+00:00 app[web.1]: > 11 |       let username = await homepageService.getFacebookUserName(sender_psid);
2022-02-12T10:36:33.503362+00:00 app[web.1]: |                      ^
2022-02-12T10:36:33.503362+00:00 app[web.1]: 12 |       let response = {
2022-02-12T10:36:33.503362+00:00 app[web.1]: 13 |         text: `Hey! ${username}. Pick your language:`,
2022-02-12T10:36:33.503363+00:00 app[web.1]: 14 |         quick_replies: [
2022-02-12T10:36:33.503363+00:00 app[web.1]: at Parser._raise (/app/node_modules/@babel/parser/src/parser/error.js:150:45)
2022-02-12T10:36:33.503363+00:00 app[web.1]: at Parser.raiseWithData (/app/app/node_modules/@babel/core/lib/parser/index.js:93
2022-02-12T10:36:33.503358+00:00 app[web.1]: throw err;
2022-02-12T10:36:33.503359+00:00 app[web.1]: ^
2022-02-12T10:36:33.503359+00:00 app[web.1]:
2022-02-12T10:36:33.503360+00:00 app[web.1]: SyntaxError: /app/src/services/chatbotService.js: Unexpected reserved word 'await'. (11:21)
2022-02-12T10:36:33.503360+00:00 app[web.1]:
2022-02-12T10:36:33.503361+00:00 app[web.1]: 9 |   return new Promise((resolve, reject) => {
2022-02-12T10:36:33.503361+00:00 app[web.1]: 10 |     try {
2022-02-12T10:36:33.503362+00:00 app[web.1]: > 11 |       let username = await homepageService.getFacebookUserName(sender_psid);
2022-02-12T10:36:33.503362+00:00 app[web.1]: |                      ^
2022-02-12T10:36:33.503362+00:00 app[web.1]: 12 |       let response = {
2022-02-12T10:36:33.503362+00:00 app[web.1]: 13 |         text: `Hey! ${username}. Pick your language:`,
2022-02-12T10:36:33.503363+00:00 app[web.1]: 14 |         quick_replies: [

以下是我的代码,指的是。。。

const sendWelcomeNewUser = (sender_psid, response) => {
return new Promise((resolve, reject) => {
try {
let username = await homepageService.getFacebookUserName(sender_psid);
let response = {
text: `Hey! ${username}. Pick your language:`,
quick_replies: [
{
content_type: "text",
title: "සිංහල",
payload: "SINHALA",
},
{
content_type: "text",
title: "English",
payload: "ENGLISH",
},
],
};
await sendMessage(sender_psid, response);
} catch (e) {}
});
};

请帮助

问题解决了!我还没有将异步包含到该函数中。根据该函数应如下。。

const sendWelcomeNewUser = (sender_psid, response) => {
return new Promise( async (resolve, reject) => {
try {
let username = await homepageService.getFacebookUserName(sender_psid);
let response = {
text: `Hey! ${username}. Pick your language:`,
quick_replies: [
{
content_type: "text",
title: "සිංහල",
payload: "SINHALA",
},
{
content_type: "text",
title: "English",
payload: "ENGLISH",
},
],
};
await sendMessage(sender_psid, response);
} catch (e) {}
});
};

这解决了我的问题。

相关内容

最新更新