Я работаю с простым кодом выполнения DialogFlow, я получаю undefined
in conv.ask
Мой пример кода:
app.intent(XYZ, (conv) => {
var xxxxxx = require('xxxx'),
callback = function(TEST) {
console.log(TEST);
};
xxx(callback);
conv.ask(TEST);
});
console.log(TEST)
отлично работаетпоскольку данные отображаются в журналах / консоли.
Я пытался определить это,
app.intent(XYZ, (conv) => {
var xxxxxx = require('xxxx'),
callback = function(TEST) {
console.log(TEST);
conv.ask(TEST);
};
xxx(callback);
});
Это выдает ошибку Error: No response has been set. Is this being used in an async call that was not returned as a promise to the intent handler?
Решение после переходачерез документы и несколько других вопросов здесь,
const testingPromise = new Promise(function(resolve, reject) {
var xxxxxx = require('xxxx'),
callback = function(TEST) {
console.log(TEST);
resolve(TEST);
};
xxx(callback);
});
app.intent(XYZ, (conv) => {
return testingPromise.then((TEST) => {
conv.ask(`Final response ${TEST}.`);
});
});