1
내가 가지고있는이 같은 API :Socket.io 반환 서버 응답
function movePlayer(x, y){
if (x < 0 || y < 0) return true;
else return false;
}
그리고 지금은이 경우 - 다른 사람이 같은 서버 측에서이되도록에만이 기능을 변경하려면 :
클라이언트 측 :
function movePlayer(x, y){
var result;
socket.emit('move_player', {
_x: x,
_y: y
});
socket.on('move_finished', function(data){
result = data._result;
});
return result;
}
서버 측 :
var result;
socket.on('move_player', function(data){
if (data._x < 0 || data._y < 0) result = false;
else result = true;
socket.emit('move_finished', {_result: result});
});
그러나 서버의 응답이 비동기이며 클라이언트 측에서 응답을 받기 위해 기다리지 않으므로 작동하지 않습니다. 그렇다면 함수 정의 만 변경하면됩니다.
올 것이다 희망, 약속의 프로 아니에요 결과 https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise – Jerome
@Jerome하지만 약속의'then()'메소드에서 어떻게 결과를 반환 할 수 있습니까? –
예, 대답 할 수 있어야합니다. – Jerome