JavaScript自定義超時(shí)API代碼實(shí)例
API是提供給不同語(yǔ)百言的一個(gè)接口,也就是對(duì)應(yīng)的函數(shù)里面提供了相應(yīng)的方法。我們只要用js的語(yǔ)法去調(diào)用想要的功能就可以。例如度js里面的BOM有screen的方法,他就是瀏覽器提供給我們的接口,能夠?qū)g覽器進(jìn)行操作。
實(shí)現(xiàn)一個(gè)Ajax請(qǐng)求時(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將返回回來(lái)的數(shù)據(jù)綁定到自定義的fn函數(shù)上,
/*fn( null, arguments[1] ); // 如果對(duì)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ù)
};
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
javascript實(shí)現(xiàn)Table間隔色以及選擇高亮(和動(dòng)態(tài)切換數(shù)據(jù))的方法
這篇文章主要介紹了javascript實(shí)現(xiàn)Table間隔色以及選擇高亮(和動(dòng)態(tài)切換數(shù)據(jù))的方法,涉及javascript表格操作及按鈕實(shí)現(xiàn)表格切換的技巧,需要的朋友可以參考下2015-05-05
小程序?qū)崿F(xiàn)發(fā)表評(píng)論功能
這篇文章主要為大家詳細(xì)介紹了小程序?qū)崿F(xiàn)發(fā)表評(píng)論功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-07-07
javascript漢字拼音互轉(zhuǎn)的簡(jiǎn)單實(shí)例
下面小編就為大家?guī)?lái)一篇javascript漢字拼音互轉(zhuǎn)的簡(jiǎn)單實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧2016-10-10
JavaScript實(shí)現(xiàn)的冒泡排序法及統(tǒng)計(jì)相鄰數(shù)交換次數(shù)示例
這篇文章主要介紹了JavaScript實(shí)現(xiàn)的冒泡排序法及統(tǒng)計(jì)相鄰數(shù)交換次數(shù),結(jié)合實(shí)例形式分析了javascript冒泡排序的實(shí)現(xiàn)技巧及針對(duì)交換次數(shù)的統(tǒng)計(jì)方法,便于更直觀的了解冒泡排序算法,需要的朋友可以參考下2017-04-04
JavaScript高級(jí)程序設(shè)計(jì) 閱讀筆記(十七) js事件
IE中是冒泡型事件,即從最特定的事件目標(biāo)到最不特定的事件目標(biāo)2012-08-08
WEB泡泡堂2.0(圖形界面+電腦對(duì)玩)(javascript)
WEB泡泡堂2.0(圖形界面+電腦對(duì)玩)(javascript)2007-01-01
流量統(tǒng)計(jì)器如何鑒別C#:WebBrowser中偽造referer
這篇文章主要介紹了流量統(tǒng)計(jì)器如何鑒別C#:WebBrowser中偽造referer,需要的朋友可以參考下2015-01-01
bootstrap實(shí)現(xiàn)的自適應(yīng)頁(yè)面簡(jiǎn)單應(yīng)用示例
這篇文章主要介紹了bootstrap實(shí)現(xiàn)的自適應(yīng)頁(yè)面簡(jiǎn)單應(yīng)用,結(jié)合具體實(shí)例形式分析了基于bootstrap的列表布局結(jié)構(gòu)頁(yè)面實(shí)現(xiàn)與使用技巧,需要的朋友可以參考下2017-03-03

