ajax 통신은 기본이 비동기이다. 나는 뭐 내가 이걸 굳이 바꿀일이 있을까? 생각했는데 있다.
ajax 통신으로 받아온 값을 바탕으로 소켓 통신을 해야하는데 비동기 통신이다보니 계속 null이 할당되는 문제가 있었다. 조금 삽질하다가 알게된 동기 통신
그냥 async: false만 넣어주면 된다!
if(postId != -1) {
$.ajax({
type: "GET",
url: `${domain}/chat/room/enter/${postId}`,
data: {},
dataType : "json",
async: false,
beforeSend: function(xhr) {
xhr.setRequestHeader("token", token);
},
success: function (response) {
isSeller = response["isSeller"]
nickname = response["nickname"]
roomId = response["roomId"]
if(response["messages"]) {
makeMessage(nickname, response["messages"])
}
}
})
}
connect(roomId)
createVue(roomId, nickname, isSeller)