2017-09-04 24 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

関連する問題