网站首页  汉语字词  英语词汇  考试资料  写作素材  旧版资料

请输入您要查询的考试资料:

 

标题 javascript Deferred和递归次数限制实例
内容
    你知道Deferred和递归次数限制吗?下面有个不错的实例,大家可以看看
    function runAsyncTTS(text,speecher,audiopath) {
    var def = jQuery.Deferred();
    var args = {"SynthText": text, "VoiceSpeecher": speecher, "WordSpeed": "3", "UseCSSML": "0", "AudioPath": audiopath};
    tts.asyncTTS(JSON.stringify(args),function(err,result) {
    def.resolve(result);
    });
    return def.promise();
    }
    function textToSpeechBat(metaJson, speecher, audioPath) {
    var def = $.Deferred();
    var result = {originalWords:"", resultJsonArr:[]};
    var jsons="";
    for(var index=0;index < metaJson.words.length;index++) {
    var audioName = metaJson.words[index]['audio'];
    audioName = audioName.replace('.mp3','');
    var audioFile = audioPath +"/" + audioName + '.wav';
    var args = '{"SynthText": "'+metaJson.words[index]['word']+'", "VoiceSpeecher": "'+speecher+'", "WordSpeed": "3", "UseCSSML": "0", "AudioPath": "'+audioFile+'"}';
    jsons += args + "|";
    }
    jsons = jsons.substr(0,jsons.length-1);
    tts.asyncTTSBat(jsons,function(err,ret) {
    result['resultJsonArr'] = ret.split('|');
    def.resolve(result);
    });
    return def.promise();
    }
    function textToSpeechWithTryTimes(metaJson, speecher, audioPath,times) {
    var def = $.Deferred();
    var ttsRet = null;
    var ttsCallBack = function(index) {
    if(index < times) {
    textToSpeechBat(metaJson,speecher,audioPath).done(function (ret) {
    console.log("textToSpeechWithTryTimes:"+JSON.stringify(ret));
    ttsRet = ret;
    var resultJsonArr = ret.resultJsonArr;
    var audioFlag = true;
    for(var i=0;i<resultJsonArr.length;i++) {
    if(resultJsonArr[i] == "") {
    audioFlag = false;
    break;
    }
    var retObj = JSON.parse(resultJsonArr[i]);
    console.log(retObj['audioFlag']);
    if(retObj['audioFlag'] == 'false' || retObj['result']=="") {
    audioFlag = false;
    break;
    }
    }
    console.log(audioFlag);
    if(audioFlag == false) {
    console.log("textToSpeechWithTryTimes Fail, try again!");
    ttsCallBack(++index);
    }else {
    console.log("textToSpeechWithTryTimes succeed,return");
    def.resolve(ret);
    }
    });
    }
    if(index == times) {
    console.log("textToSpeechWithTryTimes timesover,return");
    def.resolve(ttsRet);
    }
    };
    ttsCallBack(0);
    return def.promise();
    }
随便看

 

在线学习网考试资料包含高考、自考、专升本考试、人事考试、公务员考试、大学生村官考试、特岗教师招聘考试、事业单位招聘考试、企业人才招聘、银行招聘、教师招聘、农村信用社招聘、各类资格证书考试等各类考试资料。

 

Copyright © 2002-2024 cuapp.net All Rights Reserved
更新时间:2025/5/14 9:49:54