我正在学习一篇关于设置Slack机器人的教程,并试图通过将一些函数移到其他文件中来整理代码,使其更具可读性.
在我try 重新安排之前的初始状态是这样的:
app.event('app_home_opened', async ({event, client, context}) => {
// things happen over 50 lines
})
await app.start()
然后我试着把它重新安排成这样的东西:
app.js个
const handleAppHomeOpened = require('./events/app_home_opened.js')
app.event('app_home_opened', handleAppHomeOpened)
await app.start()
events/app_home_opened.js个
async function handleEvent({event, client, context}) {
// things happen
}
module.exports = handleEvent
当我在这个版本中运行app.js时,我得到错误TypeError: app.event(...) is not a function
.
如果我按如下方式更新app.js,则它将正确执行:
const handleAppHomeOpened = require('./events/app_home_opened.js')
app.event('app_home_opened', async ({event, client, context})=>{
handleAppHomeOpened({event, client, context})
})
await app.start()
有没有办法调整第二个函数,使其正常工作,而不是将函数调用包装在匿名函数中的额外步骤?