這篇文章主要講解了JavaScript自定義超時(shí)API的方法,內(nèi)容清晰明了,對此有興趣的小伙伴可以學(xué)習(xí)一下,相信大家閱讀完之后會有幫助。
創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),臨河企業(yè)網(wǎng)站建設(shè),臨河品牌網(wǎng)站建設(shè),網(wǎng)站定制,臨河網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,臨河網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
API是提供給不同語百言的一個(gè)接口,也就是對應(yīng)的函數(shù)里面提供了相應(yīng)的方法。我們只要用js的語法去調(diào)用想要的功能就可以。例如度js里面的BOM有screen的方法,他就是瀏覽器提供給我們的接口,能夠?qū)g覽器進(jìn)行操作。
實(shí)現(xiàn)一個(gè)Ajax請求時(shí)回調(diào)超時(shí)一個(gè)函數(shù)
function timeoutify(fn,delay) { var intv = setTimeout( function(){ // 設(shè)置超時(shí)定時(shí)器 intv = null; fn( new Error( "Timeout!" ) ); }, delay ); return function() { // 還沒有超時(shí)? if (intv) { clearTimeout( intv ); // 取消 intv 定時(shí)器 fn.apply( this, arguments ); // 通過apply將返回回來的數(shù)據(jù)綁定到自定義的fn函數(shù)上, /*fn( null, arguments[1] ); // 如果對apply使用原理不了解可以使用該方法*/ } // argument 是獲取調(diào)用回調(diào)函數(shù)的實(shí)參 }; } // 以下是使用方式: // 使用"error-first 風(fēng)格" 回調(diào)設(shè)計(jì) function foo(err,data) { if (err) { console.error( err ); } else { console.log( data ); } } ajax( "http://some.url.1", timeoutify( foo, 500 ) );
自定義一個(gè)ajax回調(diào)函數(shù):
function ajax(url, fun) { setTimeout(function() { fun(null, 11) }, 1000); // 1秒后執(zhí)行回調(diào)函數(shù) };
看完上述內(nèi)容,是不是對JavaScript自定義超時(shí)API的方法有進(jìn)一步的了解,如果還想學(xué)習(xí)更多內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。