Я сталкиваюсь со странным поведением внутри асинхронного обратного вызова c onclick:
function showResults(results) {
$('#results').html(JSON.stringify(results, undefined, 2));
}
const do_stuff = (text, results) => {
return $.ajax({
url: urlResolve(MODEL_ENDPOINT, "updateSubmission"),
type: 'POST',
contentType: "application/json; charset=UTF-8",
"data": JSON.stringify({
"submission_text": text,
"test_results": results,
"problem_id": problem.id
})
});
};
$("#submitButton").click(async function () {
const submission = model.getValue();
const results = await evaluateSubmission(submission);
await do_stuff(submission, results);
showResults(results);
});
В таком виде на экране ничего не отображается. Тем не менее, если я перейду showResults
выше do_stuff
, все будет нормально. Я не понимаю этого. Это (хром) проблема с браузером? Почему это происходит? Я убедился, что обратный вызов ajax работает нормально.