- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我在编译这段特定代码时遇到问题(这是来自 Angular2 项目)。
public reloadRecords() {
let step = (this.timeInterval.max - this.timeInterval.min) / this.recordsChartSteps;
let data = new Array(this.recordsChartSteps);
let labels = new Array(this.recordsChartSteps);
let doneCount = 0;
let done = new EventEmitter();
done.subscribe(() => {
this.recordsChartData[0].data = data;
this.recordsChartLabels = labels;
});
if (this.timeInterval.min == 0)
this.data.getRecordCount(this.timeInterval.min, this.timeInterval.max).subscribe(count => {
data[data.length - 1] = count;
labels[labels.length - 1] = "Total";
done.emit();
});
else for (let i = 0; i < this.recordsChartSteps; i++) {
let min = this.timeInterval.min + step * i;
let max = min + step - 1;
this.data.getRecordCount(min, max)
.subscribe(count => {
data[i] = count;
labels[i] = "De " + new Date(min).toLocaleTimeString() + " à " + new Date(max).toLocaleTimeString();
if (++doneCount >= this.recordsChartSteps) done.emit();
});
}
}
使用 typescript 版本 2.0.10(来自 npm),这是我得到的输出。
GlobalViewComponent.prototype.reloadRecords = function () {
var _this = this;
var step = (this.timeInterval.max - this.timeInterval.min) / this.recordsChartSteps;
var data = new Array(this.recordsChartSteps);
var labels = new Array(this.recordsChartSteps);
var doneCount = 0;
var done = new core_1.EventEmitter();
done.subscribe(function () {
_this.recordsChartData[0].data = data;
_this.recordsChartLabels = labels;
});
if (this.timeInterval.min == 0)
this.data.getRecordCount(this.timeInterval.min, this.timeInterval.max).subscribe(function (count) {
data[data.length - 1] = count;
labels[labels.length - 1] = "Total";
done.emit();
});
else
var _loop_1 = function(i) {
var min = this_1.timeInterval.min + step * i;
var max = min + step - 1;
this_1.data.getRecordCount(min, max)
.subscribe(function (count) {
data[i] = count;
labels[i] = "De " + new Date(min).toLocaleTimeString() + " à " + new Date(max).toLocaleTimeString();
if (++doneCount >= _this.recordsChartSteps)
done.emit();
});
};
var this_1 = this;
for (var i = 0; i < this.recordsChartSteps; i++) {
_loop_1(i);
}
};
这是有效的 Javascript 代码,但编译器似乎没有为 else block 的内容添加必要的括号。
我知道这很可能是因为我没有在我的 Typescript 代码中添加这些括号,因为 else 语句包含一个 block (使括号不必要,如果我错了请纠正我)。
但是,在 Javascript 中,else block (Typescript 中的单个 for 循环)输出到多个语句。
您甚至可以看到缩进,我认为在第一个声明 _loop_1 变量的指令之后的两个指令也应该包含在这个 else block 中是有道理的。
我显然可以通过在我的 Typescript 代码中添加方括号来解决这个问题(据我所知,这可能是更好的做法)。
没有放置这些括号是我的错误,还是我应该报告编译器的问题?
注意:英语不是我的主要语言。
最佳答案
是的,这看起来像一个错误,您应该报告它。这是一个快速简化的复制:
var test = false;
if (test) for (let i = 0; i < 10; i++) {
let x = () => i;
}
该代码绝对应该什么也不做,如果您在我的本地 Chrome 中运行未编译的代码,它就会这样做。如果您通过 TypeScript 运行它,它会抛出“Uncaught TypeError: _loop_1 is not a function”。伟大的发现!
关于 typescript 编译器忘记添加括号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40886536/
我有一个 Mercurial 存储库。它在 rev A 上。我做了一些更改,提交(到 rev B)并推送。然而,后来,我意识到我不想做那些改变。我更新回修订版 A,并对修订版 C 进行了一些替代更改。
我是 Prolog 的新手,我遇到了一个问题,我的变量似乎被遗忘了 test(S) :- X = 'testing', (S = y, write(X) ); (S = n, write(X) ).
这个问题已经有答案了: How to handle a lost KeyStore password in Android? (43 个回答) 已关闭 6 年前。 我有一组应用程序,在将它们发布到商店
因为this question从未得到答复,我希望有人可以帮助我重置密码以连接到我的 neo4j 密码(位于 localhost:7474)。 Zachary wrote a post通过某人重新启动
使用 Netbeans 我曾经从 SVN 存储库中 checkout 一个项目,只是为了在 Netbeans 中测试 SVN 功能。 现在,每次我创建一个新项目或打开一个不受源代码控制的现有项目时,N
我觉得这个问题以前已经被问过,但每个发帖者的答案似乎都非常具体。 我正在寻找一种方法来识别给定元素并查找具有特定类的下一个元素。我不想处理parent()或children(),因为我正在解析一个表,
我是一名老师,正在制作一个基本的迷你 Steam 客户端,作为我的编程课的学习练习。我们正在使用 Python 和 tkinter。 该程序生成两组单选按钮。第一个是用户的“游戏库”,他们可以在其中选
我忘记了我的商业管理员帐户的 apache 密码,我要求发送一封电子邮件,但是我不知道哪个帐户与 ofbiz 服务器相关联,所以我无法查看电子邮件修改了密码,有没有人有什么提示? 谢谢 最佳答案 如果
这可能听起来很愚蠢,但我正在使用一个小型框架来生成包含 3 个类的 html: Tag extends LinkedList Attribute Attributes extends LinkedLi
我有点不知道该怎么办。我在这个站点和 mysql 站点之间找到了几个关于如何解决忘记的 root 密码的选项,但我想我现在已经把它弄坏了。 我无法将 line 命令与 mysql.com 推荐的已创建
如何从 SVN 版本控制中删除文件? 它以前是由某人无意中犯下的。 它是一个需要的本地文件,但因人而异,不需要在版本控制中。 如果我删除并提交,它将为每个人删除该文件。 我无法向 svn:ignore
我正在使用 JSHINT,并注意到当我有以下代码时它不会抛出错误: function barfoo() { a = 10; } 我想要每个全局定义的变量都有一个错误。我现在有以下 gulp 任
我不久前安装了 SQL Server 2005,但忘记了在安装过程中设置的管理员密码。现在如何连接到 SQL Server? 编辑:我想我只允许 Sql Server 身份验证。使用集成安全性登录也不
如果我在 REPL 中玩并且我为函数定义了几种不同的方法: julia> methods(next) # 3 methods for generic function "next": next(i::
如果我在 REPL 中玩并且我为函数定义了几种不同的方法: julia> methods(next) # 3 methods for generic function "next": next(i::
(不确定这是否是一个可以提问的地方,但我会尝试)。在 Fedora 16 中安装一些更新后,Eclipse 不再知道如何使用 Java 文件。它无法制作它们、编译它们或格式化语法。它只是 eclips
我安装了 MySQL,但忘记了 root 密码 (Mac OSX El Capitan)。 我正在使用 [Ubuntu][1] 的教程来重置我的密码,但我很早就遇到了问题 我输入sudo/usr/lo
我理解为什么 Python 在引用实例属性时需要显式 self 限定符。 但我经常忘记它,因为我在 C++ 中不需要它。 我以这种方式引入的错误有时很难发现;例如,假设我写 if x is not N
我正在使用客户端证书通过 HTTPS 对网站进行身份验证。第一次,chrome 询问我要使用哪个证书。但是,我不知道如何冲洗/忘记这个选择来选择另一个证书。 Chrome 会记住它,但我没有找到(无论
你如何在 Laravel 中删除 cookie。这不起作用: public function logout(Request $request) { $this->guard()->logout
我是一名优秀的程序员,十分优秀!