2017-09-04 180 views
-2

所以在JavaScript我試圖瞭解回調的使用以及何時適合使用它們。可以使用異步函數,在javascript中調用同步函數?異步調用同步功能

+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