자바 스크립트 함수 foo가 있습니다. foo가 완료되면 bar를 호출하기를 원합니다. 콜백으로 시도했습니다. 작동하지 않습니다. foo가 여전히 $ .get (서버에서 매우 긴 파이썬 루틴을 시작 함)을 실행하는 동안 Bar가 호출됩니다.
function foo(callback){
$.get(
url="/myurl",
data={key:($(this).attr('data-button'))},
function(returndata) {
var array = eval(returndata);
drawTable(array);
});
callback();
}
foo (bar);
그러나 이것은 작동합니다. 나는 왜에 관해서 혼란 스럽다. ...
function foo(callback){
$.get(
url="/myurl",
data={key:($(this).attr('data-button'))},
function(returndata) {
var array = eval(returndata);
drawTable(array);
callback();
});
}
foo (bar);
는 콜백을 작성하는 간단한 개념은 아래
http://blog.slaks.net/2015-01-04/async-method-patterns/ – SLaks
콜백이 반환되면 콜백이 발생합니다. http://stackoverflow.com/a/4560233/14104 첫 번째 콜백 당신은 동기식 호출처럼 다루고, 두 번째 호출은 비동기 호출을 위해 올바르게 처리됩니다. – epascarello
그래서, 첫 번째 예에서는 $ .get을 호출하여 실행을 시작한 다음 bar라고 불리기 때문에 ($ .get이 완료되지 않았더라도) ... 두 번째 예제에서는 $ .get에 완료되면 바에 콜백하므로 제대로 작동합니다. 나는 그것을 정확하게 이해합니까? – DG1