Node.js   发布时间:2022-04-24  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了node.js – 微软bot框架结束时的回调大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用带有nodejs的Microsoft Bot框架开发一个chatbot,我想使用无服务器框架在aws lambda上部署它,但为了做到这一点,我需要调用lambda回调.

在处理消息结束时(保存的数据并发送了所有必要的消息),我无法找到如何进行回调.

我试图模拟响应,并调用回调,但它没有工作,microsoft bot框架继续处理消息,这里是我当前的处理程序

'use Strict';
const DynamoDbStorage = require('./dynamo-db-storage').DynamoDbStorage
let storage = new DynamoDbStorage()
const connector = require('./chAnnel')(storagE)

module.exports.message = (event,context,callBACk) => {
   connector.verifyBotFramework(context,getHandler(callBACk));
};

function getHandler(callBACk) {
   let status = 200
   return {
      status: (codE) => { status = code },send: (data) => {
         const response = {
             statusCode: 200,body: JSON.Stringify(data),};
         callBACk(null,responsE)
     }
   }
 }

这是我的chAnnel.js

const builder = require('botbuilder');
function getChAnnel(storagE) {

    const connector = new builder.ChatConnector({
        appId: process.env.MICROSOFT_APP_ID,apppassword: process.env.MICROSOFT_APP_password
    });


    const bot = new builder.UniversalBot(connector,{
        storage: storage
    });

    //Bot logic
    //...

    return connector
}

module.exports = getChAnnel;

解决方法

链接代码似乎不会调用res对象上的send函数.你有没有尝试添加一个调用回调函数的end()函数.

function getHandler(callBACk) {
    let status = 200
    return {
        status: (codE) => { status = code },send: (data) => {
            const response = {
                statusCode: 200,};
            callBACk(null,responsE)
        },end: () => callBACk(null,"end called");
    }
 }

大佬总结

以上是大佬教程为你收集整理的node.js – 微软bot框架结束时的回调全部内容,希望文章能够帮你解决node.js – 微软bot框架结束时的回调所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。