2つのサービスクラスを作成しました。以下はShellServiceクラスの定義です。ノード内のサービス間でデータを共有する方法
class ShellService {
create(data, params) {
if (Array.isArray(data)) {
return Promise.all(data.map(current => this.create(current)));
}
let hostname=params.query.hostname
let port = params.query.port
const id = _.uniqueId();
this.shells[id] = spawn('mongo', ['--host', hostname, '--port', port]);
return Promise.resolve({id});
}
...
}
module.exports = function() {
// Initialize our service with any options it requires
let service =new ShellService()
return service;
};
createメソッドでは、シェルインスタンスを作成し、それをシェル配列オブジェクトに追加します。別の休憩サービスクラスがあり、シェル配列オブジェクトにアクセスする必要があります。どうやってやるの?私は以下を試してみましたが、うまくいきませんでした。クラスを宣言し、シェルサービスが必要です。しかし私はSocketService
クラスにshellService.XXXX
を呼び出すことはできません。これを達成するために私は何をすべきですか?
'shell-service'クラスを明示的に初期化しますか?静的にメソッドにアクセスできるのであれば問題ありませんか? – Sridhar
私はそれを静的に使用したくありません。そのインスタンスをSocketServiceで取得する方法はありますか? –
'create'は呼び出されるたびに異なるインスタンスを返す必要があります。ただ、作成するロジックは同じです。私はこれについて正しいですか? – Sridhar