在javascript中,我正在做这样的事情
first_function: function() {
var timeout = setTimeout(function() {
// doing something
}, 300000);
},
在另一个函数中,在做了一些重要的事情之后,我必须访问
timeout
变量并清除超时。 second_function : function () {
// after opening the hardware, have to cleartimeout from first_function
hardware.open().then(function() {
clearTimeout(timeout);
}
// calling first_function only after hardware open
this.first_function();
但是,我得到 undefined variable
timeout
,我该如何解决这个问题?在解决
this.first_function()
的 promise 之前,我无法调用 then()
最佳答案
您可以将 timeout
变量存储为另一个属性,例如this.timeout
:
first_function: function() {
this.timeout = setTimeout(function() {
// doing something
}, 300000);
},
second_function: function() {
// after opening the hardware, have to cleartimeout from first_function
hardware.open().then(() => {
clearTimeout(this.timeout);
// calling first_function only after hardware open
this.first_function();
})
}
关于javascript - 在函数javascript中访问另一个函数的超时变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49322160/