vue中迭代器的使用
先在mounted中挂载一个迭代器,在每次点击按钮时执行迭代器的next()
<template>
<div>
<el-button @click="getdone()"></el-button>
</div>
</template>
<script>
export default {
data() {
return {};
},
mounted() {
this.init();
},
methods: {
init() {
this.options = this.makeRangeIterator(0, 4, 1);
},
getdone() {
if (!this.options.next().done) {
console.log('-----正在进行中-------');
} else {
console.log('-----结束了-------');
}
},
*makeRangeIterator(start = 0, end = Infinity, step = 1) {
for (let i = start; i < end; i += step) {
yield i;
}
},
}
执行结果: