javascript - Heroku 与其余参数不兼容 ...args
问题描述
Heroku 说: SyntaxError: Unexpected token ...
如何调整此功能以与 heroku 兼容?
authenticate(...args) {
var authRequest = {};
authRequest[Eureca.Protocol.authReq] = args;
this.socket.send(this.serialize(authRequest));
}
解决方案
我对 Heroku 不是很熟悉,但你总是可以执行以下操作。Array.prototype.slice.call(arguments)
在这种情况下,将达到与使用 rest 运算符相同的效果。
authenticate() {
const args = Array.prototype.slice.call(arguments);
var authRequest = {};
authRequest[Eureca.Protocol.authReq] = args;
this.socket.send(this.serialize(authRequest));
}
请参阅示例。
function foo1(...args) {
console.log(args);
}
function foo2() {
const args = Array.prototype.slice.call(arguments);
console.log(args);
}
foo1(1, 2, 3, 4);
foo2(1, 2, 3, 4);
而这段代码是foo1
通过 babel transpiler 运行函数得到的。
function foo1() {
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
console.log(args);
}
推荐阅读
- linux - linux内核中的ioctl调用流程
- django - 如何在 django 中删除多个对象?
- c# - .net core - 防伪异常处理
- boolean - Radio button checked with boolean attribute
- python - 如何处理 TypeError:'int' 对象不可调用?
- redis - Redisson 回滚操作
- sql - 如何使用 plpgsql 在 postgres 函数中递归返回表?不使用 CTE/使用递归
- javascript - 无法使用本地存储在活动内部加载外部页面以在刷新时返回上次活动
- powershell - Pipeline 与 Argument 提供的值
- mysql - 我可以在单个 MySQL 语句中从联合中选择全部和全部计数吗?