예를 들어 사진의 경우 로드될 때까지, 즉 요청이 수신된 후 기다렸다가 다른 작업을 수행합니다.
SWF 로드 여부 등 다른 리소스 유형도 같은 방법인가요?
또는 http 요청을 모니터링하는 방법은 무엇입니까?
PHP中文网2017-05-18 10:59:54
브라우저가 이러한 리소스를 로드하거나 http
요청을 비동기적으로 보낼 때 일반적으로 후크 기능
을 제공합니다. http
请求的话,一般都会提供钩子函数
。
例如,你异步去获取js
代码:
const script = document.createElement('script')
script.src = 'xxxx'
script.onload = script.onreadystatechange = function () {
if (!this.readyState || /^(loaded|complete)$/.test(this.readyState)) {
resolve(window[namespace][name])
sc.onload = sc.onreadystatechange = null
}
}
document.body.append(script)
你创建的script
对象上提供了加载的钩子函数:onload/onreadystatechange
(浏览器的兼容性处理),当你把script
标签插入到DOM
中时,浏览器另开一个线程去异步加载你需要的js
资源,在加载的不同阶段:this.readyState
对应不同的值,这个时候根据需要设置你的回调函数。这样就完成了对于一段js
js
코드를 비동기적으로 가져옵니다. 🎜
으아아아
🎜생성한 script
개체는 로딩 후크 기능을 제공합니다: script
를 입력하면 onload/onreadystatechange
(브라우저 호환성 처리) 태그가 다음과 같은 경우 DOM
에 삽입되면 브라우저는 필요한 js
리소스를 비동기적으로 로드하기 위해 다른 스레드를 엽니다. 다양한 로드 단계에서 this.readyState
는 다음과 같습니다. 이때 필요에 따라 콜백 함수를 설정하세요. 이로써 js
코드 조각의 비동기 획득 모니터링이 완료됩니다. 🎜PHPz2017-05-18 10:59:54
onload 이벤트 또는 Readystatechange 이벤트이지만 모든 객체가 이를 지원하는 것은 아닙니다. 게다가 약속도 작동해야 합니다