异步调用同步函数

时间:2017-09-04 07:46:58

标签: javascript asynchronous callback ecmascript-6

所以在javascript中我试图了解回调的使用以及何时适合使用它们。可以异步函数,在javascript中调用同步函数吗?

1 个答案:

答案 0 :(得分: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);
    })
}
&#13;
&#13;
&#13;