javascript 松弛螺栓,将命令回调移动到另一个文件

esbemjvw  于 2023-01-19  发布在  Java
关注(0)|答案(1)|浏览(83)

我正在学习创建一个Slack应用程序。我已经创建了一个应用程序,它可以工作,但是主app.ts文件非常臃肿。我想从像这样的代码

slackApp.command('command', async ({ack,command,response}) = {
 // Do all of the things here 
 // and here
 // and here
})

像这样的事情

import { MyFunctionHere } from './commands.ts'

slackApp.command('command', async MyFunctionHere)

与另一个名为commands.ts的打印脚本文件匹配

export MyFunctionHere = () => {
 // Do all of the things here 
 // and here
 // and here
}

尽管我不知道如何将第一个示例中的匿名函数移到像第二个示例那样的单独文件中。

bkhjykvo

bkhjykvo1#

我可以解决这个问题。
我使用的解决方法是将const MyFunctionHere的类型设置为Middleware<SlackCommandMiddlewareArgs>,从而不会出现TypeScript的编译错误。
下面是我的示例代码:

应用程序ts

import { MyFunctionHere } from './commands.ts'

slackApp.command('command', async MyFunctionHere)

命令.ts

const MyFunctionHere: Middleware<SlackCommandMiddlewareArgs> = async ({ ack,command,response }) => {

await ack()

}

export = { MyFunctionHere }

谢谢你的评论,我希望这能帮助到其他人。

相关问题