AJAX 호출과 같은 비동기 프로그래밍에서는 호출 자체가 호출되므로 함수에서 반환되는 변수를 즉시 사용할 수 없습니다. 즉시 실행되지 않았습니다. AJAX 호출의 경우 호출은 비동기적으로 이루어집니다. 즉, 나머지 코드가 계속 실행되는 동안 백그라운드에서 실행됩니다.
현재 직면한 문제는 제공된 코드의 get_data 함수가 AJAX 호출 결과를 직접 반환합니다. 그러나 호출이 비동기식이므로 함수는 반환되기 전에 결과를 기다릴 수 없습니다.
이 문제를 해결하려면 콜백을 사용하도록 get_data 함수를 수정해야 합니다. 기능. 콜백 함수는 다른 함수에 인수로 전달되어 나중에 첫 번째 함수가 완료된 후 실행되는 함수입니다.
수정된 코드에서:
function get_data(data, destination, callback) { if (lock_get == 0) { lock_get = 1; $.ajax({ type: "POST", url: destination, async: true, data: data, success: function(data) { lock_get = 0; if (data && callback) { callback(data); } } }); } }
콜백으로 get_data 함수를 호출하려면:
get_data(data, destination, function(test) { notice(test); });
이 예에서는 익명 콜백 함수는 AJAX 호출 결과를 처리하는 데 사용됩니다. 호출 결과는 알림 함수로 전달됩니다.
콜백을 사용하면 get_data 함수는 AJAX 호출을 시작하고 즉시 반환할 수 있으며, 콜백 함수는 나중에 결과가 나올 때 실행됩니다.
위 내용은 비동기 AJAX 호출 반환 값을 어떻게 처리할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!