<ul>
<li v-for="(item, index) in timeWait" :key="index">
<span v-if="index+1<=10">系统正在运行,请稍等... {{ !isNaN(item.value)?('当前结果是:'+item.value):'' }}</span>
<span v-else-if="index+1==11">系统运行结束,最终的结果是 {{ item.value }}</span>
</li>
</ul>
function result(res) {
return new Promise((resolve, reject) => {
resolve(res)
})
}
let getR = function (index) {
if (index <= 10) { // 记住这里,我们称这里为“标注处”
this.timeWait.push({id:index})
result(index).then(res => {
console.log('res', res)
this.timeWait[index].value=res
console.log('this.timeWait', this.timeWait)
++index
getR(index)
})
}
}.bind(this)
getR(0)
上面运行的结果是:
以上内容暂且就这样。不要说改进代码,换写法,现在就上面的代码不要改变的情况下谈论的。
现在问题是在“标注处”设置为10的时候,页面最终的结果不显示,但是改成11的时候就会显示,这是什么原因?