私は最近この問題に取り組んできましたが、私はこのアプローチに利点があるかどうか疑問に思っています。さんはcluster.workers
オブジェクトを見てみましょう:私はこれに利益を見ることができる唯一の理由は、列挙可能なプロパティ対配列
{ '1':
Worker {
domain: null,
_events: { message: [Function] },
_eventsCount: 1,
_maxListeners: undefined,
suicide: undefined,
state: 'none',
id: 1,
process:
ChildProcess {
domain: null,
_events: [Object],
_eventsCount: 5,
_maxListeners: undefined,
_closesNeeded: 2,
_closesGot: 0,
connected: true,
signalCode: null,
exitCode: null,
killed: false,
spawnfile: '/home/karl/.nvm/versions/node/v4.5.0/bin/node',
_handle: [Object],
spawnargs: [Object],
pid: 7687,
stdin: null,
stdout: null,
stderr: null,
stdio: [Object],
_channel: [Object],
_handleQueue: null,
send: [Function],
_send: [Function],
disconnect: [Function],
_disconnect: [Function] } },
'2':
Worker {
domain: null,
_events: { message: [Function] },
//...etc.
があります。それはオブジェクトの量です定数です。の配列ではないので、その意味で変更することはできません。
他の利点はありますか?
あなたはそれをあなたが1.worker.process.ChildProcess.domain' –
'のような欲望のものに達する可能性がこの方法を行う場合、私は推測しますあなたはcluster.workers [recordNumber]を使ってこのようなレコードを直接参照することができますが、ほとんどの場合、Object.keys()を使わずに配列メソッドを使うことができます。レコードを直接参照する必要があります。 – Shilly
@KevinKloet: "index"に基づくエントリへのアクセスは、配列オブジェクトであるか、または上記のようなオブジェクトであっても実質的に同じです: 'cluster.workers [1] .process.domain'または' cluster.workers ["1"]。 process.domain'(どちらの場合でもどちらでも動作します)。 *(上記の 'Worker'と' ChildProcess'は階層のレベルではありません。オブジェクトのタイプですので、私はそこに残しました。) –