JavaScript自定義超時API代碼實例
API是提供給不同語百言的一個接口,也就是對應(yīng)的函數(shù)里面提供了相應(yīng)的方法。我們只要用js的語法去調(diào)用想要的功能就可以。例如度js里面的BOM有screen的方法,他就是瀏覽器提供給我們的接口,能夠?qū)g覽器進行操作。
實現(xiàn)一個Ajax請求時回調(diào)超時一個函數(shù)
function timeoutify(fn,delay) { var intv = setTimeout( function(){ // 設(shè)置超時定時器 intv = null; fn( new Error( "Timeout!" ) ); }, delay ); return function() { // 還沒有超時? if (intv) { clearTimeout( intv ); // 取消 intv 定時器 fn.apply( this, arguments ); // 通過apply將返回回來的數(shù)據(jù)綁定到自定義的fn函數(shù)上, /*fn( null, arguments[1] ); // 如果對apply使用原理不了解可以使用該方法*/ } // argument 是獲取調(diào)用回調(diào)函數(shù)的實參 }; } // 以下是使用方式: // 使用"error-first 風(fēng)格" 回調(diào)設(shè)計 function foo(err,data) { if (err) { console.error( err ); } else { console.log( data ); } } ajax( "http://some.url.1", timeoutify( foo, 500 ) );
自定義一個ajax回調(diào)函數(shù):
function ajax(url, fun) { setTimeout(function() { fun(null, 11) }, 1000); // 1秒后執(zhí)行回調(diào)函數(shù) };
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
基于JavaScript實現(xiàn)繼承機制之原型鏈(prototype chaining)的詳解
我們知道在JavaScript中定義類的原型方式,而原型鏈擴展了這種方式,以一種有趣的方式實現(xiàn)繼承機制。prototype 對象是個模板,要實例化的對象都以這個模板為基礎(chǔ)。總而言之,prototype 對象的任何屬性和方法都被傳遞給那個類的所有實例。原型鏈利用這種功能來實現(xiàn)繼承機制2013-05-05echarts折線圖流動特效的實現(xiàn)全過程(非平滑曲線)
最近因為公司業(yè)務(wù)需求,需要實現(xiàn),當(dāng)Echarts重新加載數(shù)據(jù)時實現(xiàn)動態(tài)效果,下面這篇文章主要給大家介紹了關(guān)于echarts折線圖流動特效實現(xiàn)的相關(guān)資料,需要的朋友可以參考下2023-03-03javascript中Array()數(shù)組函數(shù)詳解
在JavaScript中數(shù)組也是比較常用的對象之一,數(shù)組是值的有序集合,本篇文章給大家分享Javascript中Array()數(shù)組函數(shù)詳解,需要的朋友可以參考下2015-08-08javascript與CSS復(fù)習(xí)(《精通javascript》)
js和css結(jié)合來產(chǎn)生醒目的交互效果,我們可以快速的訪問元素自身的樣式屬性2010-06-06bootstrap中使用google prettify讓代碼高亮的方法
使用google prettify 讓代碼高亮非常漂亮,接下來通過本文給大家介紹bootstrap中使用google prettify讓代碼高亮的方法,感興趣的朋友一起看看吧2016-10-10微信小程序?qū)崿F(xiàn)活動報名登記功能(實例代碼)
這篇文章主要介紹了微信小程序?qū)崿F(xiàn)活動報名登記,本篇將介紹使用微信小程序?qū)崿F(xiàn)發(fā)起一個活動報名的設(shè)計,以此為基礎(chǔ),我們可以掌握微信小程序表單的基本用法,進而在諸如疫情信息登記、出入報備等場景中使用小程序進行開發(fā),滿足相關(guān)的需求,需要的朋友可以參考下2022-09-09