2017-09-04 2 views
-2

그래서 자바 스크립트에서 콜백에 대한 사용을 이해하려고 시도하고 적절한 경우이를 사용하려고합니다. 수 비동기 함수, 자바 스크립트에서 동기 함수를 호출 할 수 있습니까?동기 함수에 대한 비동기 호출

+0

당신이 당신의 마음에 특별한 경우가 있었나요 스 니펫 다음 코드를 살펴 수 있습니까? – Teemu

+1

일반적으로 : 확실합니다. 왜 의심스러워하는지 분명히하고 싶을 수도 있습니다. – deceze

+2

비동기/동기화 함수는 호출 방법이 다르지 않지만 결과를 전달하는 방법은 다릅니다. – ftor

답변

1

예는,

// a synchronous function which returns sum 
 
function syncFunction(x){ 
 
    let sum = 0; 
 
    for(let i = 1; i<=x; i++){ 
 
     sum += i; 
 
    } 
 
    return sum; 
 
} 
 

 
function asyncFunction(x, callback){ 
 
    // setTimeout makes this a asynchronous function which calls x=0,3,6,9 before x=1,4,7 and before x=2,5,8 
 
    setTimeout(function(){ 
 
     callback(syncFunction(x)); 
 
    }, (x%3)*1000); 
 
} 
 

 
for(let i=0; i<10; i++){ 
 
    asyncFunction(i, function(sum){ 
 
     console.log(sum); 
 
    }) 
 
}

+0

덕분에 어떻게 구현 될 수 있는지를 보여주는 간단한 구현을 찾고있었습니다! – fortune