我刚开始习惯于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