私はWebチャットアプリケーションを開発中です。上記のコードは、JSON形式で受け取ったレスポンスのデータを処理するために使用します。基本的にどのように動作するかは、Ajaxの長いポーリング要求がサーバーに送信され、ユーザーに送信する必要があるメッセージが取り出されます。 JSによって解析されたJSON形式で出力し、残りの部分を処理するためにMinte.Processor.process(json)が呼び出されます。スイッチケースをより良いものに交換するには?
switch文を別のものに置き換えたいと思います。あなたが見ることができるように、いくつかのコマンドがあります(少なくとも50以上は見積もっています)ので、より洗練されたソリューションが必要です。私は、キーがコマンド名で値がデータであるキーと値のペアの配列を保持するオブジェクトを作成することを考えていましたが、それがスイッチより効率的でないかどうかはわかりません。あなたは自分の名前が機能し、それぞれに割り当てられた匿名関数である人の特性を有するObject
...
var handlers = {
'changeUsername' : function(content) {
Minte.Client.username = content;
},
...
};
var thisCommand = handlers[command];
if (thisCommand) {
thisCommand.call(this, content);
}
を持つことができ
、しかし、あなたはすぐにその変数を反復処理を開始します。 JavaScriptの 'Object'のように聞こえます。 JSON文字列だった場合は、まずそれを解析してJavaScriptのオブジェクトにする必要があります。 – alex
あなたのキーボードに猫が座っていましたか? – Jordan