0

ではnode.js、関数を呼び出してバックグラウンドで実行するにはどうすればよいですか? 何かのようなもの:

work = function(){
    for (var i=0; i<1000000; ++i);
    return "world!";
};

spawn(work).then(console.log);
console.log("Hello ");

あなたが期待するものを出力する必要があります。

注: 必ずしもこのパターンに従う必要はありません。

4

3 に答える 3

1

Node.JS では、「バックグラウンドで」実行されるものはありません。これは、JS がマルチスレッドに対応していないためです。それでも、コードを連続して実行する機能があります。たとえば、2 つの for ループを同時に実行すると、最初の for ループが一定量反復し、次に 2 番目の for ループが反復し、処理能力をスワップして見えるようにします。メソッドを同時に実行できるかのように。

私が間違っていなければNode.JSはコールバックでこれを行います。

"コールバック

コールバックは、node.js における非同期操作の基本的なイディオムです。ほとんどの人がコールバックについて話すとき、それは非同期関数に最後のパラメーターとして渡される関数を意味します。その後、コールバックは、関数が生成した戻り値またはエラー メッセージとともに呼び出されます。詳細については、コールバックに関する記事を参照してください」

より多くの例と情報がここにあります -

http://docs.nodejitsu.com/articles/getting-started/control-flow/how-to-write-asynchronous-code

于 2013-05-29T15:02:55.777 に答える