鉴于最近在学习vue框架,在学习过程中调用setTimeout方法没办法运行,可能是因为setTimeout无法鉴别通过vue定义的方法和变量。因此,如果Vue里面要调用setTimeout方法。
需要如下方式书写:
例如:
setTimeout(()=>{
this.warning = false
},500)
不能调用方法,需要在setTimeout里面声明方法。
那么,具体setTimeout方法是如何实现的呢,下面就来具体讲解下setTimeout的书写方法。
declare function setTimeout(handler: (...args: any[]) => void, timeout: number): number;
declare function setTimeout(handler: any, timeout?: any, ...args: any[]): number;
此为setTimeout的函数声明,第一个参数为handler就是需要执行的方法,第二个参数为number为暂停时间。
官方不建议在参数一声明为javascript语句,因为可能会因此导致软件安全隐患,因此在使用setTimeout的时候,请尽量引用方法。
返回的正整数是timeoutID,用来表示定时器的编号,这个值可以用clearTimeout()来取消该定时器。
setTimeout和setInterval是一起编号的,也就是说,setTimeout所拥有的编号,setInterval就不能拥有。因此clearInterval()的参数,可以说setTimeout的编号,而clearTimeout的参数,也可以是setInterval的编号。
不同编号池【可以看做是编号存储容器】的编号是可以重复的,因为它们彼此独立。相同编号池的编号不能重复。