angular里的$setTimeout和原生的setTimeout有什么区别么?
世界只因有你2017-05-15 16:51:55
일단 $setTimeout
은 없고 $timeout
은 있습니다. $setTimeout
,是 $timeout
。
其次,$timeout
是对 window.setTimeout
的一层封装,功能和接口基本一样,主要的区别有以下三点:
try...catch
结构内,并且把抛出的异常委托给 $exceptionHandler
做统一调度处理;$timeout
返回的不是数字 ID,而是一个 promise 对象。这意味着你无法用 window.clearTimeout
取消它,而是要用 $timeout.cancel(returnedPromise)
来取消;false
,则不会使用 $apply
来包装 function 调用,也就是说不会更新当前作用域内的数据绑定。默认是 true
$timeout
은 window.setTimeout
을 캡슐화한 레이어입니다. 기능과 인터페이스는 기본적으로 동일합니다. try...catch
구조로 래핑되고, 발생한 예외는 $ExceptionHandler
에 위임됩니다. 처리;
<리>
$timeout
은 숫자 ID가 아닌 Promise 객체를 반환합니다. 즉, window.clearTimeout
으로 취소할 수 없고 대신 $timeout.cancel(returnedPromise)
를 사용하세요.
false
가 전달되면 $apply
는 함수를 래핑하는 데 사용되지 않습니다. , 이는 현재 범위의 데이터 바인딩이 업데이트되지 않음을 의미합니다. 기본값은 true
입니다.
🎜
🎜드디어 이런 것들이 실제로 문서에 들어있어요...🎜