简单Javascript倒计时如何从setInterval本地函数更新全局

简单Javascript倒计时如何从setInterval本地函数更新全局,javascript,typescript,Javascript,Typescript,我从db中提取倒计时数据(只是一个像10,15…这样的数字),并使其等于全局值。 刚刚下课 countdown:any; console.log(this.countdown)//我10秒后得到数据 let downloadTimer=设置间隔(功能计数器(倒计时){ 倒计时--;//如何更新此。倒计时? 控制台日志(倒计时); 如果(countdown您试图传递单个标量值,this.countdown,确实如此,但您不能像更新对象或数组那样更新该值,从而获得更新原始值的副作用 您可以将引用

我从db中提取倒计时数据(只是一个像10,15…这样的数字),并使其等于全局值。 刚刚下课

countdown:any;

console.log(this.countdown)//我10秒后得到数据
let downloadTimer=设置间隔(功能计数器(倒计时){
倒计时--;//如何更新此。倒计时?
控制台日志(倒计时);

如果(countdown您试图传递单个标量值,
this.countdown
,确实如此,但您不能像更新对象或数组那样更新该值,从而获得更新原始值的副作用

您可以将引用传递给此
,然后使用它更新原始文件:

类测试{
构造函数(){
这是倒计时=20
}
doit(){
console.log(this.countdown);//我得到了10秒的数据
let downloadTimer=设置间隔(功能计数器(obj){
obj.countdown-->//如何更新此.countdown?
控制台日志(对象倒计时);
if(obj.倒计时
 console.log(this.countdown);//i got data 10 sec
let downloadTimer=setInterval(function counter(countdown){
    countdown--;        // how to update this.countdown ?
console.log(countdown);
    if(countdown <= 0){
        clearInterval(downloadTimer);
        console.log("time is up!");
      }
    },1000,this.countdown);