okkydokky
608
2018-11-20 14:36:10
6
691

javascript 에서 궁금한점!


예를 들어서 클릭됬을때 호출되는 함수가있습니다.

그리고 그 안에는 call 함수를 호출하는 것 하나와 a.submit이 있습니다.

call은 대충 a라는 form 에 있는 info라는 input값을 수정하는 함수라고 칠께요

문법은 맞지않게 썻구요


이때 call이 먼저 호출될지 submit이 먼저 호출될지 모르는건가요?

그러면 info라는 값이 수정되기전에 submit이 될 수 있는건가요?

이런 경우 간단하게 click 펑션안에 a호출 후 submit하는 방법은 뭐가있나염?

타임아웃말구 알고싶어요 


function click(){

    call();

    a.submit(); 

}

function call(){

    a.info.val("수정");

}


0
0
  • 답변 6

  • 포기해..
    770
    2018-11-20 14:41:44

    순서대로 호출 됩니다.

    단지 위에서 함수 호출을 했다면 호출이 끝난 다음에 다음문장이 실행되는 것이 아니라

    비동기 방식처럼 호출을 해놓고 다음줄로 넘어간다는 거죠

    call() 함수 안에 submit()을 넣으면 되죠 

    0
  • 포포핀
    528
    2018-11-20 14:43:17

    네 javascript는 비동기이기 때문에 submit이 먼저 될수있습니다.

    call() 수행후 submit이 되게하려면 Promise를 쓰던지 callback 함수를 써야합니다.



    0
  • okkydokky
    608
    2018-11-20 15:01:15

    두분말씀모두맞군요

    0
  • okkydokky
    608
    2018-11-20 15:04:49

    그런데 call 안에 submit을 넣어도 call안에 작업 위에서는 예시로 a.info.val("수정");


     끝나고 submit을 수행한다는 보장이 없지않나요?

    0
  • 포기해..
    770
    2018-11-20 15:14:00

    컴퓨터는 빠릅니다.

    위에 로직이 복잡하지 않은 이상 순차적 수행순서를 보장받는 다고 봐야죠.

    값 변경 같은 단순 작업은 수행순서를 무시할 정도의 시간을 소비하지 않습니다.

    ajax 같은 경우엔 확실한 순서를 보장 받기 위해서 callback 함수를 사용하는 것이 좋구요

    1
  • okkydokky
    608
    2018-11-21 11:07:41
    제가 진짜로 받고싶던답변을 받았네요 감사합니다 포기해님!
    0
  • 로그인을 하시면 답변을 등록할 수 있습니다.