}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也不执行,请问这是什么原因

解决方案 »

  1.   

            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... ....}无法执行