У меня есть рекурсивная функция, которая содержит код для рисования внутри.Мне посоветовали использовать setTimeout, так как мой рисунок не отображался до конца выполнения.Сначала я поместил только код рисования в setTimeout, но это не помогло, однако когда я поместил основной рекурсивный цикл в setTimeout, рисование работало отлично, как показано ниже.(т.е. state
как показано ниже).Как я могу получить это возвращаемое значение при использовании setTimeout, или решить эту проблему другим способом.
var doLearning = function(time, observedData, state, domain, sampleAction, selectModel, numSamples, depth, discount, stateQueries) {
if(stateQueries[0](time, state) === true) {
console.log("New Round");
var currentModel = selectModel(observedData, 10, stateQueries);
var bestAction = sparseSampleMcmc(depth, numSamples, discount, currentModel, state, sampleAction, stateQueries);
var newStateReward = domain.executeAction(bestAction, stateQueries);
observedData.push(bestAction, newStateReward[1], newStateReward[0]);
console.log(time);
setTimeout(doLearning, 100, time + 1, observedData, newStateReward[0], domain, sampleAction, selectModel, numSamples, depth, discount, stateQueries);
} else {
console.log("Game Over");
return state;
}
}