javascript Deferred和递归次数限制实例
你知道Deferred和递归次数限制吗?下面有个不错的实例,大家可以看看
functionrunAsyncTTS(text,speecher,audiopath){
vardef=jQuery.Deferred();
varargs={"SynthText":text,"VoiceSpeecher":speecher,"WordSpeed":"3","UseCSSML":"0","AudioPath":audiopath};
tts.asyncTTS(JSON.stringify(args),function(err,result){
def.resolve(result);
});
returndef.promise();
}
functiontextToSpeechBat(metaJson,speecher,audioPath){
vardef=$.Deferred();
varresult={originalWords:"",resultJsonArr:[]};
varjsons="";
for(varindex=0;index<metaJson.words.length;index++){
varaudioName=metaJson.words[index]['audio'];
audioName=audioName.replace('.mp3','');
varaudioFile=audioPath+"/"+audioName+'.wav';
varargs='{"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);
});
returndef.promise();
}
functiontextToSpeechWithTryTimes(metaJson,speecher,audioPath,times){
vardef=$.Deferred();
varttsRet=null;
varttsCallBack=function(index){
if(index<times){
textToSpeechBat(metaJson,speecher,audioPath).done(function(ret){
console.log("textToSpeechWithTryTimes:"+JSON.stringify(ret));
ttsRet=ret;
varresultJsonArr=ret.resultJsonArr;
varaudioFlag=true;
for(vari=0;i<resultJsonArr.length;i++){
if(resultJsonArr[i]==""){
audioFlag=false;
break;
}
varretObj=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("textToSpeechWithTryTimesFail,tryagain!");
ttsCallBack(++index);
}else{
console.log("textToSpeechWithTryTimessucceed,return");
def.resolve(ret);
}
});
}
if(index==times){
console.log("textToSpeechWithTryTimestimesover,return");
def.resolve(ttsRet);
}
};
ttsCallBack(0);
returndef.promise();
}热门推荐
10 八一幼儿祝福语大全简短
11 公司乔迁食堂祝福语简短
12 婚礼结束聚餐祝福语简短
13 儿媳买车妈妈祝福语简短
14 毕业送礼老师祝福语简短
15 同事辞职正常祝福语简短
16 恭贺新婚文案祝福语简短
17 金店立秋祝福语简短英文
18 婆婆高寿祝福语大全简短