问题
写法如下,然后调用之后出现无限回调和undefined
function perValueCallback(nowIndex, key, data) {
let perValue = ''
let index = 0
if (nowIndex) {
index = --nowIndex
}
if (
(perValue &&perValue !== '回调') ||perValue===‘’
) {
return perValue
} else {
perValueCallback(index, key, data)
}
}
解决方案
在调用函数的那一行加上return
function perValueCallback(nowIndex, key, data) {
let perValue = ''
let index = 0
if (nowIndex) {
index = --nowIndex
}
if (
(perValue &&perValue !== '回调') ||perValue===‘’
) {
return perValue
} else {
// 再次调用循环,注意,此处必须加rerun 否则下次拿不到返回的数据
return perValueCallback(index, key, data)
}
}