欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

javascript Deferred和遞歸次數(shù)限制實例

 更新時間:2014年10月21日 16:47:02   投稿:whsnow  
你知道Deferred和遞歸次數(shù)限制嗎?如果還不知道,可以看看下面的實例,很好,適合新手朋友們

你知道Deferred和遞歸次數(shù)限制嗎?下面有個不錯的實例,大家可以看看

 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(); 
}

相關(guān)文章

  • JS實現(xiàn)省市縣三級下拉聯(lián)動

    JS實現(xiàn)省市縣三級下拉聯(lián)動

    這篇文章主要為大家詳細(xì)介紹了JS實現(xiàn)省市縣三級下拉聯(lián)動,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-04-04
  • js多個物體運(yùn)動功能實例分析

    js多個物體運(yùn)動功能實例分析

    這篇文章主要介紹了js多個物體運(yùn)動功能,結(jié)合實例形式分析了js實現(xiàn)多物體運(yùn)動功能的原理、實現(xiàn)技巧與相關(guān)注意事項,需要的朋友可以參考下
    2016-12-12
  • JavaScript 字符串處理函數(shù)使用小結(jié)

    JavaScript 字符串處理函數(shù)使用小結(jié)

    JavaScript 字符串處理函數(shù)使用小結(jié),學(xué)習(xí)js的朋友可以參考下。
    2010-12-12
  • 基于Web Audio API實現(xiàn)音頻可視化效果

    基于Web Audio API實現(xiàn)音頻可視化效果

    這篇文章主要介紹了基于Web Audio API實現(xiàn)音頻可視化效果,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-06-06
  • JavaScript數(shù)組的5種迭代方法

    JavaScript數(shù)組的5種迭代方法

    這篇文章主要為大家詳細(xì)介紹了JavaScript數(shù)組的5種迭代方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-09-09
  • uniapp小視頻項目開發(fā)之滑動播放視頻

    uniapp小視頻項目開發(fā)之滑動播放視頻

    最近在工作中遇到了一個視頻播放的需求,所以下面這篇文章主要給大家介紹了關(guān)于uniapp小視頻項目開發(fā)之滑動播放視頻的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-04-04
  • Bootstrap實現(xiàn)默認(rèn)導(dǎo)航欄效果

    Bootstrap實現(xiàn)默認(rèn)導(dǎo)航欄效果

    這篇文章主要介紹了Bootstrap實現(xiàn)默認(rèn)導(dǎo)航欄效果,導(dǎo)航欄是一個很好的功能,是Bootstrap網(wǎng)站的一個突出特點,本文帶領(lǐng)大家學(xué)習(xí)實現(xiàn)Bootstrap導(dǎo)航欄,需要的朋友可以參考下
    2015-12-12
  • JS代碼實現(xiàn)頁面切換效果

    JS代碼實現(xiàn)頁面切換效果

    這篇文章主要為大家詳細(xì)介紹了JS代碼實現(xiàn)頁面切換效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-01-01
  • axios基本入門用法教程

    axios基本入門用法教程

    之前當(dāng)vue更新到2.0之后,作者就宣告不再對vue-resource更新,而是推薦的axios,前一段時間用了一下,現(xiàn)在說一下它的基本用法。文中介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-03-03
  • tab欄切換原理

    tab欄切換原理

    本文主要介紹了tab欄切換的原理以及實現(xiàn)方法代碼。具有很好的參考價值。下面跟著小編一起來看下吧
    2017-03-03

最新評論