私はES6構文に慣れ始めました。矢印関数を使って変数に代入することが可能かどうかは疑問でした。私は基本的な軽量AJAXヘルパーライブラリを書いていると200の状況に、私は、現在をどうユーザにペイロードを返したい:ES6矢印関数を使用して変数を割り当てる
var responseData = "";
switch (payload.returnType.toLowerCase()) {
case "json" : responseData = JSON.parse(httpRequest.responseText); break;
case "text" : responseData = httpRequest.responseText; break;
default : responseData = null; break;
}
callback(null, responseData);
これは素晴らしいですが、私は助けることができませんしかし、私がしなければ、私は、このクリーナーを作ることができると思う:
callback(null,() => { switch(payload.returnType.toLowerCase()) { ... });
私はしかし、私は慰めるときに印刷し、発信者からログインし、自分のコールバックで2番目のパラメータとして式の結果を送信するためにreturn
文を期待しますswitchステートメント
は、代わりに私がやるしようとしている:この場合
var responseData =() => {
switch (payload.returnType.toLowerCase()) {
case "json" : return JSON.parse(httpRequest.responseText); break;
case "text" : return httpRequest.responseText; break;
default : return null; break;
}
}
callback(null, responseData);
を、responseData
は常に空です。矢印関数の結果として戻り値を私の2番目のパラメータとして持つか、またはそれをresponseData
にバインドすることは可能ですか?
機能を作成しますが、機能は実行しません。 – Laurence
あなたは実際に何かを返さなければなりません。あなたが{}を使わないなら返す必要はありませんが、あなたの関数には()=> {}があるので、必要な値を返す必要があります。 –
@NetaMetaはい申し訳ありません、私は私の答えの最初のブロックをコピーして貼り付けました。私は彼が代入する機能を返す必要があることを知っています:) – Alex