логика работает, я получаю вывод. Единственное, что мой webhook не ждет выхода, он просто выходит. Можете ли вы помочь мне с этим. Спасибо
ясь на решение размещено здесь (DialogFlow V2 Webhook - ожидает речевых ответов сразу, а не после асинхронных запросов)
Чего я хочу добиться, так это того, что веб-хук должен ждать, пока я не получу ответ от моего вызова API. П.С .: API работает, просто бот не ждет ответа. Любая помощь будет принята с благодарностью. Спасибо
const rp = require('request-promise');
function convert(params){
return rp('https://data.fixer.io/api/convert?access_key=[my key]&from='+
params['currency-from']+'&to='+params['currency-to']+'&amount=,'+params.amount)
.then((data) => {
let responseData = JSON.parse(data);
let message = responseData.result;
console.log('Success');
return Promise.resolve(message);
}).catch((err)=> {
return Promise.reject(err);
});
}
function currencyConversion(agent) {
let params = request.body.result.parameters;
return convert(params)
.then((message)=> {
agent.add(`${params.amount} ${params['currency-from']} is ${message} ${params['currency-to']}`);
return Promise.resolve()
})
.catch((err) => {
console.log(err);
agent.add("Uh oh, something happened.");
return Promise.resolve();
})
}
let intentMap = new Map();
intentMap.set('Default Welcome Intent', welcome);
intentMap.set('Default Fallback Intent', fallback);
intentMap.set('currency.convert', currencyConversion);