私はnodejsの初心者です。 私のプログラムでは、長時間の非同期を解決する必要があります。 は、私は私のコードを試してみました:長い作業非同期nodejsを作る
function testAsync(callback){
//do long-work
for(var i=0;i<1000000000;i++){
//do-nothing, just pseudo a long work
}
//callback
callback();
}
testAsync(function(){
console.log("test");
});
console.log('main');
しかし、私はtestAsyncを実行している、「テスト」は常にそれが長い仕事を同期走る意味し、「メイン」の前に印刷します。 したがって、非同期で長時間作業を実行するにはどうすればよいですか?
EDIT
https://www.dropbox.com/s/32b0nwwr6r0x2zk/jsonschemavalidator.js?dl=0
私は、クライアントの要求からの入力を検証するためにvalidateAndConvert関数を作成しました。私はそれが非同期に実行されることを望むが、それは同期的に実行されるようだ。
あなただけの同期コードを非同期に「作る」していない - それはそもそも非同期操作である必要があります。たとえば、forループはCPUにバインドされているため、非同期ではほとんど実行できません。非同期にしようとしている*実際のコードは何ですか? –
はい@AntP。このコードは本質的に同期しています。 –
@AntP私のコードはhttps://www.dropbox.com/s/32b0nwwr6r0x2zk/jsonschemavalidator.js?dl=0 –