Я унаследовал некоторый код из примера кода, который использует метод Asyn c .DoWhilst. В первый раз, когда проверка выполняется, она возвращает значение true, но затем она не повторяется.
async.doWhilst(
function checkForCompletionStatus(whilstCallback) {
setTimeout(() => {
self._getWorkItemStatus(accessToken, workItemId, (err, resp, body) => {
const errMsg = self._getErrorFromRequestResponse(err, resp, body);
console.log('iteratee');
if (errMsg) {
logger.log('GET STATUS ERR:' + errMsg);
whilstCallback(errMsg);
return;
}
parsedBody = JSON.parse(body);
whilstCallback();
}
)
}, 5000);
},
function checkWorkItemStatusComplete() {
logger.log('Checking status: ' + parsedBody.status + ' ' + (Date.now() - startWait) + ' ms');
console.log(parsedBody.status === 'pending' || parsedBody.status === 'inprogress');
return parsedBody.status === 'pending' || parsedBody.status === 'inprogress';
},
() => {
console.log('why isnt this running');
if (parsedBody.reportUrl) {
logger.log('Log file available here: ' + parsedBody.reportUrl)
}
if (parsedBody.status !== 'success') {
callback('Workitem finished with status: ' + parsedBody.status);
return;
}
callback();
},
)
Как мне заставить это работать правильно? Спасибо!