JavaScript自定義超時(shí)API代碼實(shí)例
API是提供給不同語百言的一個(gè)接口,也就是對(duì)應(yīng)的函數(shù)里面提供了相應(yīng)的方法。我們只要用js的語法去調(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將返回回來的數(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ù) };
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. Ajax提交post請(qǐng)求案例分析2. jsp EL表達(dá)式詳解3. 解決ajax請(qǐng)求后臺(tái),有時(shí)收不到返回值的問題4. 瀏覽器常用基本操作之python3+selenium4自動(dòng)化測(cè)試(基礎(chǔ)篇3)5. php strncmp函數(shù)原型源碼分析6. 如何在jsp界面中插入圖片7. 基于javaweb+jsp實(shí)現(xiàn)企業(yè)財(cái)務(wù)記賬管理系統(tǒng)8. bootstrap select2 動(dòng)態(tài)從后臺(tái)Ajax動(dòng)態(tài)獲取數(shù)據(jù)的代碼9. react axios 跨域訪問一個(gè)或多個(gè)域名問題10. JSP實(shí)現(xiàn)文件上傳功能
