我正在尝试将Facebook Messenger集成到使用Node / Express编写的现有消息机器人中。当前的僵尸程序接收来自Web界面或短信的请求,通过一些中间件传递请求,该中间件决定是否可以处理它并响应或调用next()
让下一个中间件试一试。它与Express中间件流程非常兼容,并且易于扩展。
现在我想为Facebook Messenger添加一个钩子,看起来很简单。然而,问题是Messenger API在单个HTTP请求中发送可能有多个消息的批处理请求。一个请求可能需要多个响应。这打破了很好的快车范式,我想知道是否有人有一个漂亮,干净的解决方案。
我正在迭代请求数组并手动调用每个中间件函数,但这非常难看。理想情况下,我想先拦截请求并将其分解为多个请求,这些请求可以一次一个地流过中间件,但我似乎无法找到一个好方法。
有没有人处理过此问题并有更好的方法?