国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發(fā)設計 > 正文

jQuery:在一個回調(diào)中處理多個請求

2019-11-14 16:39:00
字體:
供稿:網(wǎng)友

我曾經(jīng)為Mozilla Developer Network 開發(fā)一個新功能,它需要加載一個基本的腳本文件的同時加載一個JSON請求。因為我們使用的是jQuery,意味著要使用 jQuery.getScript和jQuery.getJSON。我知道這兩者都是異步的并返回一個Deferred(jQuery中的PRomise模式實現(xiàn), 參見: deffered object)對象,因此我想知道能不能在一個回調(diào)里按順序請求它們,就像多數(shù)的javaScript加載器那樣(如curljs )。我很幸運,使用jQuery就可以用一個回調(diào)處理兩個請求。

  jQuery的Javascript代碼

  就像我剛才提到的,我需要加載一個腳本和一個JSON文件,就像這樣:

$.when(  $.getScript('/media/js/wiki-min.js?build=21eb633'),  $.getJSON('https://developer.mozilla.org/en-US/demos/feeds/json/featured/')).then(function(a, b) {    // 或者 ".done"    // 好了,東西都加載好了,可以干活了});

  當資源文件加載完時,done或者callback就會被觸發(fā),我就知道已經(jīng)請求完了。每一個請求都返回了不同的回調(diào)參數(shù),如上面的返回參數(shù)就像這樣:

// [response, state, jqxhr], [response, state, jqxhr]["(function(c){var e=c(".from-search-navigate");if(e…;if(j){g.apply(m,l)}}}})(window,document,jQuery);", "success", Object] [Array[15], "success", Object]

  如果我們希望再加載一個傳統(tǒng)的Ajax請求,就像獲取一個HTML模板,我們可以這樣:

$.when(    $.getScript('/media/js/wiki-min.js?build=21eb633'),    $.getJSON('https://developer.mozilla.org/en-US/demos/feeds/json/featured/'),    $.get('/')).then(function(a, b, c) {    console.log(a, b, c);});

  Dojo Toolkit很早以前就有類似的功能了,但是我不知道現(xiàn)代jQuery也可以。在一個回調(diào)中處理多個請求在請多場合需要用到,可以看出jQuery也在與時俱進。

  原文 davidwalsh.name

 


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 高州市| 常山县| 庆安县| 台湾省| 原平市| 贞丰县| 翁牛特旗| 松滋市| 惠水县| 增城市| 瑞丽市| 搜索| 会泽县| 香格里拉县| 德保县| 上思县| 金堂县| 察隅县| 马边| 开封市| 剑阁县| 鄯善县| 盱眙县| 元氏县| 安阳县| 宜城市| 柳州市| 沅陵县| 清镇市| 泾阳县| 曲沃县| 五大连池市| 万荣县| 葫芦岛市| 唐海县| 福清市| 盐城市| 奉贤区| 辉南县| 威海市| 乐平市|