小编Mat*_*zur的帖子

使用promise设置超时问题(react + redux)

我正在为我的测试乐趣项目制作一些机制原型,因为我知道我需要延迟很多事情,我认为我需要Promises.

然而,事实证明它不起作用,我认为它的工作原理.虽然目前这对我来说不是一个问题,但我知道以后我将不得不解决这个问题.

这是代码:

if(nextProps.mechanics.turn === 'enemy'){
            let enemyTurnPromise = new Promise((resolve, reject) =>{
                let i = 0;
                _.forEach(this.props.enemies, (enemy, index) =>{
                    setTimeout(this.handleEnemyAttack, 1000 * index)
                    i++;
                })
                resolve(i)
            })
            enemyTurnPromise.then(r =>{
                console.log('test', r);
                this.props.switchTurn('ally')

            })

        }
Run Code Online (Sandbox Code Playgroud)

目前我将状态切换为"敌人"并立即切换回"盟友"并打印"i"值,而setTimeout仍在缓慢解析.

没有一些奇怪的回调块,有没有任何优雅的方法来解决这个问题?可以异步/等待这个吗?或者也许是一些可以消除大量不必要代码的库?

javascript promise reactjs

1
推荐指数
1
解决办法
61
查看次数

标签 统计

javascript ×1

promise ×1

reactjs ×1