尝试清除间隔时出错“timeout.close不是函数” - angular(5)

时间:2018-01-01 03:27:11

标签: angular

当我确定间隔时,我收到此错误:

ERROR Error: Uncaught (in promise): TypeError: timeout.close is not a function
TypeError: timeout.close is not a function
    at exports.clearTimeout.exports.clearInterval (main.js:14)
    at LiveTestGraphComponent.ngOnDestroy

设定间隔功能:

this.inrvl = setInterval(() => loop(+new Date()), 5);

破坏功能:

ngOnDestroy(): void {
    if (this.inrvl) clearInterval(this.inrvl)
}

组件在父组件中使用ngIf销毁:

<test *ngIf="data.length" </test>

2 个答案:

答案 0 :(得分:23)

这是因为你的IDE!确保添加了自动导入,例如

 <form action="some url" method="post">
    <input type="hidden" name="first_name" value="first_name">
    <input type="hidden" name="last_name" value="last_name">
    ........
    ........
    <input type="submit" name="submit">
 </form>

<a
  className="payment-method"
  dangerouslySetInnerHTML={{__html: svgIcon}}
/>

如果是,请将其删除。休息应该没问题。

答案 1 :(得分:1)

clearTimeout遇到相同的问题。

在需要导入window.clearTimeoutclearTimeout的情况下,也可以使用import { clearTimeout } from "timers";代替import { clearInterval } from 'timers';