我剛開始習慣於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()) { ... });
我期望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
總是空的。是否可以將返回值作爲我的第二個參數,或者將它作爲箭頭函數的結果綁定到responseData
?
您創建一個函數,但不執行該函數。 – Laurence
你也必須實際返回一些東西 - 如果你不使用{},你不需要返回,但是因爲你的函數有()=> {}你需要返回你想要的值。 –
@NetaMeta對不起,我複製並粘貼了我的答案中的第一個塊,我知道我需要返回fromt他的功能來分配:) – Alex