如何使用异步函数修复 'Unexpected Token' 错误
How to fix 'Unexpected Token' error with async function
我正在 azure (v3) 上开发一个 Web 应用程序机器人,我正在使用异步方法,但我似乎无法解决 SyntaxError: Unexpected token function 的问题。
我已经尝试将我的 nodeJS 从 6.9.4 更新到 8.9,但是没有用。我也 运行 npm i -g azure-functions-core-tools@core 但仍然没有。
class OAuthHelpers {
/**
* Enable the user to schedule meeting and send an email attachment via the bot.
* @param {TurnContext} turnContext
* @param {TokenResponse} tokenResponse
* @param {*} emailAddress The email address of the recipient
*/
async function createevent(turnContext, tokenResponse, emailAddress) {
if (!turnContext) {
throw new Error('OAuthHelpers.createevent(): `turnContext` cannot be undefined.');
}
if (!tokenResponse) {
throw new Error('OAuthHelpers.createevent(): `tokenResponse` cannot be undefined.');
}
var client = new SimpleGraphClient(tokenResponse.token);
// Calls the Graph API with the subject and content message...
await client.createevent(
emailAddress,
`Lunch`,
`I will be taking everyone to lunch as a reward for your hardwork.`
);
// Success message...
await turnContext.sendActivity(`Success! I have scheduled a meeting with you and ${ emailAddress } have created an event on each of their calendars.`);
}
我希望机器人 运行 正常,但它不能,因为 azure 出于某种原因无法检测到异步功能。感谢任何帮助
OAuthHelpers class 需要 'simple-graph-client',其中包含您要使用的所有方法。在原始示例中,您的代码来自 BotBuilder-Sample 24.bot-authentication-msgraph,如果您导航到 simple-graph-client.js 文件,您将看到调用的方法(即 sendMail、getRecentMail、getMe 和 getManager ) 在 OAuthHelpers.js 文件中。
如果您还没有,则需要包含一个创建事件的方法。这又作为机器人对话框的一部分从 OAuthHelpers.js 文件中调用。
如果没有更多代码,很难知道什么是什么,但我的猜测是令牌正在传递到您的 createevent 方法中,但是,由于该方法(可能)不作为图形 api 调用存在, 它不知道如何处理它。
查看以下链接以获取指导:
- MS 图表 sample 显示前 3 个日历事件的 GET 调用
- MS Graph 单元测试example,但演示了一个事件POST
- API reference 用于创建事件
- 添加 info 创建重复事件...可能有用
希望得到帮助!
我正在 azure (v3) 上开发一个 Web 应用程序机器人,我正在使用异步方法,但我似乎无法解决 SyntaxError: Unexpected token function 的问题。
我已经尝试将我的 nodeJS 从 6.9.4 更新到 8.9,但是没有用。我也 运行 npm i -g azure-functions-core-tools@core 但仍然没有。
class OAuthHelpers {
/**
* Enable the user to schedule meeting and send an email attachment via the bot.
* @param {TurnContext} turnContext
* @param {TokenResponse} tokenResponse
* @param {*} emailAddress The email address of the recipient
*/
async function createevent(turnContext, tokenResponse, emailAddress) {
if (!turnContext) {
throw new Error('OAuthHelpers.createevent(): `turnContext` cannot be undefined.');
}
if (!tokenResponse) {
throw new Error('OAuthHelpers.createevent(): `tokenResponse` cannot be undefined.');
}
var client = new SimpleGraphClient(tokenResponse.token);
// Calls the Graph API with the subject and content message...
await client.createevent(
emailAddress,
`Lunch`,
`I will be taking everyone to lunch as a reward for your hardwork.`
);
// Success message...
await turnContext.sendActivity(`Success! I have scheduled a meeting with you and ${ emailAddress } have created an event on each of their calendars.`);
}
我希望机器人 运行 正常,但它不能,因为 azure 出于某种原因无法检测到异步功能。感谢任何帮助
OAuthHelpers class 需要 'simple-graph-client',其中包含您要使用的所有方法。在原始示例中,您的代码来自 BotBuilder-Sample 24.bot-authentication-msgraph,如果您导航到 simple-graph-client.js 文件,您将看到调用的方法(即 sendMail、getRecentMail、getMe 和 getManager ) 在 OAuthHelpers.js 文件中。
如果您还没有,则需要包含一个创建事件的方法。这又作为机器人对话框的一部分从 OAuthHelpers.js 文件中调用。
如果没有更多代码,很难知道什么是什么,但我的猜测是令牌正在传递到您的 createevent 方法中,但是,由于该方法(可能)不作为图形 api 调用存在, 它不知道如何处理它。
查看以下链接以获取指导:
- MS 图表 sample 显示前 3 个日历事件的 GET 调用
- MS Graph 单元测试example,但演示了一个事件POST
- API reference 用于创建事件
- 添加 info 创建重复事件...可能有用
希望得到帮助!