node.js 的return执行问题

iiifly 2019-07-25 09:34:41



}else if(data == '1'){
console.log('2:data:'+data);
return_msg='没有你想要听的这首歌';
let card = new Bot.Card.TextCard(return_msg);
console.log(return_msg);
return {
card: card,
outputSpeech: return_msg
};
}else{

node.js 在百度cfc下调用bot-sdk开发,第一个console.log可以正常返回,第二个console.log不显示信息,下面的return也不执行,请问这是什么原因
...全文
184 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
iiifly 2019-07-25
  • 打赏
  • 举报
回复
this.addIntentHandler('readbook', () => { let lessonid; let lessonname; let lessonurl; let lessoninfo; let kemu; let nianji; let xueqi; let lessonnumber; kemu=this.getSlot('e_type'); nianji=this.getSlot('e_class'); xueqi=this.getSlot('e_part'); lessonnumber=this.getSlot('e_lesson'); this.waitAnswer(); this.setExpectSpeech(false); if(!kemu){ this.nlu.ask('e_type'); let card = new Bot.Card.TextCard('你想听哪个科目呢'); return { card: card, outputSpeech: '你想听哪个科目呢' }; }else if(!nianji){ this.nlu.ask('e_class'); let card = new Bot.Card.TextCard('你想听哪个年级的呢'); return { card: card, outputSpeech: '你想听哪个年级的呢' }; }else if(!xueqi){ this.nlu.ask('e_part'); let card = new Bot.Card.TextCard('你想听哪个学期'); return { card: card, outputSpeech: '你想听哪个学期' }; }else{ if(!lessonnumber){ this.nlu.ask('e_lesson'); let card = new Bot.Card.TextCard('你想听第几课呢'); return { card: card, outputSpeech: '你想听第几课呢' }; }else{ lessons(kemu,nianji,xueqi,lessonnumber); lessonname=kemu+nianji+xueqi+'第'+lessonnumber+'课'; return mysql_connect().then(function(data){ if(data == 'connect_yes'){ return mysql_find_lesson(playid); }else{ return '0'; } }).then(function(data){ if(data == '0'){ return '0'; }else if(data == 'find_no'){ return '1'; }else{ playurl=data[0].lurl; playname=lessonname; return playurl; } }).then(function(data){ connection.end(); console.log('0:data:'+data); if (data == '0'){ console.log('1:data:'+data); return_msg='数据库连接错误'; let card = new Bot.Card.TextCard(return_msg); return { card: card, outputSpeech: return_msg }; }else if(data == '1'){ console.log('2:data:'+data); return_msg='没有你想要听的这首歌'; let card = new Bot.Card.TextCard(return_msg); console.log(return_msg); return { card: card, outputSpeech: return_msg }; }else{ console.log('3:data:'+data); return_msg='sdfsdfsadfasdfsadf'; console.log('3:return_msg:'+return_msg) this.waitAnswer(); this.setExpectSpeech(false); let card = new Bot.Card.TextCard(return_msg); return { card: card, directives: [this.playSound(0)], outputSpeech: '正在为你播放'+return_msg }; } }) } } }); 这是完整的代码,外连mysql库 以上代码就是最后三个return{card: card,outputSpeech: return_msg... ....}无法执行
usecf 2019-07-25
  • 打赏
  • 举报
回复
看看你页面是不是有什么错误信息

87,989

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧