promisify answer on user defined question
This commit is contained in:
@@ -33,10 +33,10 @@ getDataFromWPJSON = function (sourceUrl, page = 1, maxPosts = 10) {
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
getAnswerFromWP : async function (sourceUrl){
|
||||
getAnswerFromWP : function (sourceUrl){
|
||||
//This function will extract needed data from JSON, which we got from getDataFromWPJSON
|
||||
//At the moment, it's taking titles and creates answer
|
||||
return await new Promise((resolve,reject)=>{
|
||||
return new Promise((resolve,reject)=>{
|
||||
getDataFromWPJSON(sourceUrl).then(rawData=>{
|
||||
let result='';
|
||||
rawData.forEach(post=>{
|
||||
|
||||
@@ -71,22 +71,38 @@ module.exports = {
|
||||
if (this.attributes['LaunchRequestYesNo']) {
|
||||
this.attributes['LaunchRequestYesNo'] = false;
|
||||
}
|
||||
let answer = '';
|
||||
let answer;
|
||||
switch (intent.answerType){
|
||||
case constants.answerType.PREDEFINED:
|
||||
answer = intent.answer;
|
||||
answer = new Promise((resolve,reject)=>{
|
||||
resolve(intent.answer);
|
||||
});
|
||||
break;
|
||||
case constants.answerType.EXTERNAL_SOURCE_WP_JSON:
|
||||
answer = predefinedSourceHelper.getAnswerFromWP(intent.externalAnswerSource);
|
||||
predefinedSourceHelper.getAnswerFromWP(intent.externalAnswerSource).then(answer=>{
|
||||
answer = new Promise((resolve,reject)=>{
|
||||
resolve(answer);
|
||||
});
|
||||
}).catch(error=>{
|
||||
reject(error);
|
||||
});
|
||||
break;
|
||||
case constants.answerType.EXTERNAL_SOURCE_RSS:
|
||||
answer = 'Not implemented yet'
|
||||
break;
|
||||
}
|
||||
this.response
|
||||
.speak (answer)
|
||||
.listen (constants.voiceResponseStrings.GENERIC_CONTINUE); //Phrase from listen doesn't work !!!
|
||||
this.emit (':responseReady');
|
||||
|
||||
answer.then(answer=>{
|
||||
this.response
|
||||
.speak (answer)
|
||||
.listen (constants.voiceResponseStrings.GENERIC_CONTINUE); //Phrase from listen doesn't work !!!
|
||||
this.emit (':responseReady');
|
||||
}).catch(error=>{
|
||||
this.response
|
||||
.speak (error)
|
||||
.listen (constants.voiceResponseStrings.GENERIC_CONTINUE); //Phrase from listen doesn't work !!!
|
||||
this.emit (':responseReady');
|
||||
});
|
||||
};
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user