【发布时间】:2017-05-15 18:07:18
【问题描述】:
考虑一个函数query_item,它要么返回要处理的对象,要么返回null(如果不再需要处理任何内容)。
let item = query_item();
while(item !== null){
process(item);
item = query_item();
}
显然,这是对 DRY 的一个小违规(不要重复自己),主要通过将 query_item() 作为专用函数来缓解。
我知道在这个简单的例子中,清晰比防止重复更重要。
尽管如此,有没有办法在不重复分配的情况下编写这样的循环?
我想出的唯一方法是 for-loop 方法,但它具有相同的重复性,并且 - 至少在我看来 - 有点难以阅读。
for(let item = query_item();
item !== null;
item = query_item()
){
process(item);
};
【问题讨论】:
-
This answer 可能会帮助你。
标签: javascript loops while-loop dry assign