gpt4 book ai didi

javascript - ES6 用箭头函数给变量赋值

转载 作者:数据小太阳 更新时间:2023-10-29 06:00:39 25 4
gpt4 key购买 nike

我刚刚开始习惯 ES6 语法,我想知道是否可以使用箭头函数为变量赋值。我正在编写一个基本的轻量级 AJAX 帮助程序库,并且在状态为 200 时,我想向用户返回一个有效负载,我目前正在这样做:

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 始终为空。是否可以将返回值作为我的第二个参数,或者作为箭头函数的结果将其绑定(bind)到 responseData

最佳答案

您创建了一个匿名函数但不执行它。

例如:

var getResponseData = () => {
switch (payload.returnType.toLowerCase()) {
case "json" : return JSON.parse(httpRequest.responseText);
case "text" : return httpRequest.responseText;
default : return null;
}
};
callback(null, getResponseData());

关于javascript - ES6 用箭头函数给变量赋值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37228121/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com