gpt4 book ai didi

javascript - 不能在 Promise 内的 setInterval 中使用它

转载 作者:行者123 更新时间:2023-11-28 14:33:48 25 4
gpt4 key购买 nike

我正在使用 vuejs 开发一个应用程序。我想在 Promise 中使用 this,我希望能够在 .then 范围内调用函数或数据,为此我使用 this。但是,如果我在 .then 内部执行此操作,则会出现错误,即使我使用箭头函数绑定(bind)范围,该错误似乎也会丢失。我能做什么?

javascript
methods: {
...mapActions(['setCredentials']),
doLogin() {
console.log('credentials ' + this.username, this.password);
this.$store.dispatch('connect', {
username: this.username,
password: this.password,
});

this.checkResult().then((interval) => {
vm.$f7router.navigate('/favorites');

})

},
checkResult() {
return new Promise(function(resolve) {

var id = setInterval( () => {
let condition = this.$store.state.isConnected
if (condition) {
clearInterval(id);
resolve(id);
}

setTimeout(() => {
clearInterval(id);
reject(id);
}, 20000);
}, 10);
});
}

最佳答案

实例化您的 promise 时使用箭头函数:

return new Promise((resolve) => { /* ... */ });

关于javascript - 不能在 Promise 内的 setInterval 中使用它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50462584/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com