Я использую Microsoft Bot Framework и пытаюсь интегрировать его с внешними HTTP-вызовами.
Однако, когда я вызываю BotWorker.say в запросе обработчика BotKitConversation, я начинаю получать
(node:5711) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): TypeError: Cannot perform 'get' on a proxy that has been revoked
Ниже мой код
В обратном вызове моей функции-обработчика я получаю некоторые значения, возвращаемые из внешней функции. Затем я пытаюсь выполнить bot.say для возвращенного ответа и получаю вышеупомянутую ошибку.
myDialog.ask('What would like to hear?', [
{
pattern: '.*',
handler: async (response, convo, bot) => {
await YoutubeHelper.getChannel(response, convo,async function(channels){
console.log("value returned " + channels.length);
try {
await bot.say('Printing values'); //error comes here
if (channels.length == 0) {
await bot.say('No items found.');
} else {
await bot.say('This items\'s ID is %s. Its title is \'%s\', and ' ,
channels[0].id,
channels[0].snippet.title
);
}
}catch (err) {
console.log('error occurred' , err);
}
});
}
}
], {key: 'name'});
}
, где myDialog является объектом BotkitConversation.
Ниже приведен код для моего внешнего служебный класс
/**
* Lists the names and IDs of up to 10 files.
*
*
*/
var {google} = require('googleapis');
var {myDialog} = require("./bot")
const getChannel = function getChannel(searchTerm, convo,callback) {
var service = google.youtube({
version : 'v3',
auth : '<client id>'});
service.search.list({
part: 'id,snippet',
q: searchTerm
}, function(err, response) {
if (err) {
console.log('The API returned an error: ' + err);
return;
}
var channels = response.data.items;
if (channels.length == 0) {
console.log('No items found.');
} else {
console.log('This items\'s ID is %s. Its title is \'%s\', and ' ,
channels[0].id,
channels[0].snippet.title
);
}
console.log(channels.length);
callback(channels);
});
//
}
module.exports ={
getChannel
}
Я нашел этот документ об ошибке. Я кодирую в соответствии с указанными правилами.
С наилучшими пожеланиями,
Саурав