이 비동기 함수가 끝날 때 일부 플래그를 통해 확인하려고합니다.자바 스크립트 비동기 함수가 끝나는 시점을 어떻게 알 수 있습니까?
이것은 내 함수를 호출하는 방법입니다
// Calling the function in a loop
for (var i=0,l=myIds.length; i<l; ++i) {
install(pageId, myIds[i], apps_num[''+myIds[i]], <?php echo $this->comid ?>, '<?php echo $this->site_url; ?>');
}
을 그리고이 제 기능입니다 :
install: function(pageId, appId, app_num, com_id, siteurl) {
FB.getLoginStatus(function(response) {
// Checking if connected to Facebook
if (response.status === 'connected') {
var uid = response.authResponse.userID;
console.log(response.authResponse);
var userAccessToken = response.authResponse.accessToken;
// Get page access token
FB.api('/'+pageId+'?fields=access_token='+userAccessToken, function(response) {
var pageAccessToken = response.access_token;
// Get information if user got this application
FB.api('/'+pageId+'/tabs/'+appId+'?access_token='+pageAccessToken,
function(data) {
if (data.data.length < 1) {
console.log("Not installed, Installing...");
// Install the application
var params = {};
params['app_id'] = appId;
FB.api('/'+pageId+'/tabs?access_token='+pageAccessToken, 'post', params, function(response) {
if (!response || response.error) {
console.log("Error Installing!");
}
else {
console.log("Installed :)");
}
});
}
else {
console.log("Already installed.");
}
});
});
}
else
if (response.status === 'not_authorized') {
console.log("the user is logged in to Facebook, but not connected to the app.");
}
else {
console.log("the user isn't even logged in to Facebook.");
}
});
}
가 어떻게이 문제를 해결할 수 있습니까? 정적 변수를 사용하려고했지만 비동기 함수 내에서 호출 할 수 없었습니다.
때 콜백이 호출되면 완료되었음을 알 수 있습니다. – Pointy
[Facebook Javascript SDK가 성공적으로로드되었는지 감지하는 방법이 있습니까?] (http://facebook.stackoverflow.com/questions/5334977/is-there-a-way-to-detect-if-the -facebook-javascript-sdk-loaded-successfully) – ifaour