var InfoURL
$.get("https://ipinfo.io", function(response) {
if(response.ip.indexOf(':') > -1) {
InfoURL = 'google.com';
} else {
InfoURL = 'google.ch';
}
alert(InfoURL);
}, "jsonp");
alert (InfoURL);
그렇다면 두 번째 alert
변수 는 왜 빈 변수일까요? 변수가 전역이되도록 무엇을 변경해야합니까?
그 이유는 $.get
함수가 비동기 이기 때문입니다. promise를 사용하거나 다음과 같은 콜백을받는 자체 함수로 함수를 래핑해야합니다.
function myGet(callback) {
$.get("https://ipinfo.io", function(response) {
if(response.ip.indexOf(':') > -1){
callback('google.com');
} else {
callback ('google.ch');
}
}, "jsonp")
}
용법:
myGet(function(data) {
alert(data);
});
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다