久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁技術文章
文章詳情頁

javascript - 終止JS請求的方法有哪些?

瀏覽:136日期:2023-04-28 16:41:48

問題描述

面試時遇到類似問題,大意就是,加載頁面時,會用script標簽加載一些js文件資源,這些資源如果長時間沒有請求回來,怎么手動終止請求?

我知道Ajax請求有個abort方法,不知道面試官是不是想問這個,以及還有什么別的請求方式的終止方法嗎?

問題解答

回答1:

謝邀。像 @小溪流 說的一樣,是考察timeout。

大致實現思路這樣:

var sequence = [’foo’, ’bar’, ’baz’, ’base’, ’ball’, ’hello’, ’world’, ’100k more’], start = Date.now();setTimeout(function _worker() { do { var element = sequence.shift(); // do something with element } while( sequence.length && (Date.now() - start < 100) ); if( sequence.length )setTimeout(_worker, 25);}, 25);

以上例子,25毫秒間隔執行隊列加載,加載時間在100ms內。

回答2:

考察的應該是加載資源的timeout

回答3:

<script>的加載總是同步(阻塞性)的,也不能用DOM操作去影響。題主需要的是獨立于頁面加載與渲染的異步JS加載。工具有很多,這里舉一個RequireJS的例子:

HTML頁面:

<!DOCTYPE html><html><head><meta charset='utf-8' /><title>Test Page</title><script src='https://cdn.staticfile.org/require.js/2.1.15/require.min.js' data-main='test1'></script></head><body></body></html>

保存為test1.js:

require.config({ paths: {’jquery’: ’//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery’,’underscore’: ’//cdn.bootcss.com/underscore.js/1.7.0/underscore’ },waitSeconds: 20});require([’jquery’], function (module) { console.log('jQuery ' + $.fn.jquery + ' successfully loaded. ');}, function (err) { console.log('SHIT happened while loading jQuery! ');});require([’underscore’], function (module) { console.log(_.last([1, 2, 3, 'Underscore.js successfully loaded. ']));}, function (err) { console.log('SHIT happened while loading Underscore.js! ');});

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 日韩色综合 | 黄色a三级 | 一区二区三区日韩精品 | 精品亚洲一区二区三区 | 亚洲免费视频网 | 天天干天天添 | 91精品久久久久久久久中文字幕 | 女同久久 | 国产一区二区在线免费观看 | 免费观看一级毛片 | 精品2区| 在线中文字幕日韩 | 天天人人精品 | 成人日韩 | 天天干狠狠干 | 亚洲一区二区三区高清 | 天堂精品久久 | 国产欧美日韩 | 在线观看国产wwwa级羞羞视频 | 国产精品欧美一区二区三区 | 免费av在线网站 | 伦理午夜电影免费观看 | 一区二区三区国产精品 | 欧美日韩精品在线 | 视频一区二区三区中文字幕 | 在线播放一区二区三区 | 在线免费黄色小视频 | 狠狠的干 | 亚洲成年人网站在线观看 | 久久国产精品99久久久久久老狼 | 在线观看亚洲视频 | 婷婷丁香综合 | 天天澡天天狠天天天做 | 欧美一级黄色片 | 国产精品视频播放 | 欧美日韩中文 | 自拍一区视频 | 日韩毛片免费视频一级特黄 | 国产99999| 久久久久国产一区二区三区四区 | 亚洲欧洲一区二区 |