API是提供給不同語百言的一個接口,也就是對應的函數裡面提供了相應的方法。我們只要用js的語法去調用想要的功能就可以。例如度js裡面的BOM有screen的方法,他就是瀏覽器提供給我們的接口,能夠對瀏覽器進行操作。
實現一個Ajax請求時回調超時一個函數
function timeoutify(fn,delay) { var intv = setTimeout( function(){ // 設置超時定時器 intv = null; fn( new Error( "Timeout!" ) ); }, delay ); return function() { // 還沒有超時? if (intv) { clearTimeout( intv ); // 取消 intv 定時器 fn.apply( this, arguments ); // 通過apply將返回回來的數據綁定到自定義的fn函數上, /*fn( null, arguments[1] ); // 如果對apply使用原理不瞭解可以使用該方法*/ } // argument 是獲取調用回調函數的實參 }; } // 以下是使用方式: // 使用"error-first 風格" 回調設計 function foo(err,data) { if (err) { console.error( err ); } else { console.log( data ); } } ajax( "http://some.url.1", timeoutify( foo, 500 ) );
自定義一個ajax回調函數:
function ajax(url, fun) { setTimeout(function() { fun(null, 11) }, 1000); // 1秒後執行回調函數 };
[niceskyabc ] JavaScript自定義超時API代碼實例已經有438次圍觀