以下函数从getCalls接收对象数组作为解析:
var globals = require('../globals');
function getAllCalls() {
let pageSize = 100;
let i = 0;
let foundAllCalls = false
let dataArray = [];
while(foundAllCalls === false) {
getCalls(i,pageSize)
.then(result=> {
for(x = 0; x < result.length; x++) {
dataArray.push(result[x]);
}
i = i + pageSize
if (dataArray.length !== i) {
console.log('getAllCalls ended')
foundAllCalls = true;
globals.dataTopdesk = dataArray;
globals.updateTimeStamp = Date.now();
}
})
}
}
它应该一直保持通话状态,直到不再接收到来电数量为止(然后它已收到所有通话)。问题在于它是一个无限循环,因为程序一直在不进入.then的情况下继续获取调用。
while循环是否不允许.thens执行,或者这里还有其他事情吗?