gpt4 book ai didi

javascript - 在 emit 完成之后而不是在 emit 之前更改 IF 语句中的值

转载 作者:行者123 更新时间:2023-11-30 20:07:04 26 4
gpt4 key购买 nike

我想在这里实现的是当 IF 语句为 truefightID 更改为其他值,因此它不会匹配它之前分配的值,因此我无法在战斗结束后立即通过控制台运行 win-fight 发出的消息。但是我现在得到的只是 Bad id 所以它甚至不会运行 win-fight emit。我该如何解决这个问题?

var uuid = uuid4();

socket.on('attack', () => {

var fightID = uuid;

if(enemyHealth === 0 && uuid4.valid(uuid) === fightID|| userHealth === 0
&& enemyHealth === 0 && uuid4.valid(uuid) === fightID) {

fightID = 185;

socket.emit('win-fight'); // next emit
} else {
console.log('Bad id');
}

});

最佳答案

如果我对你的问题的理解正确,则应该通过进行以下调整来解决问题:

var uuid = uuid4();

var isFightFinished = false;

// Declare fightID here
var fightID = uuid;

socket.on('attack', () => {
// Remove fightID from here
// var fightID = uuid;

if(isFightFinished === false && (enemyHealth <= 0 || userHealth <= 0)) {

// Now you're newly assigned fightID is remembered for the next attack
// event
fightID = 185;

isFightFinished = true;

socket.emit('win-fight'); // next emit
} else {
console.log('Bad id');
}

});

关于javascript - 在 emit 完成之后而不是在 emit 之前更改 IF 语句中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52807036/

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