Jak powiedzieć javascript, aby natychmiast zaktualizował DOM?

Usiłuję załadować komunikat „ładowanie” do użytkownika, zanim funkcja czasochłonna zostanie wywołana w javascript.

HTML:

<p id='foo'>Foo</p>​

Javascript:

var foo = document.getElementById('foo');

function tellViewerLoading() {
  // Tell the user that loading is occuring.
  foo.innerHTML = 'loading...';   
}

function someActionThatTakesALongTime() {
  // Do some action that takes a long time.
  var i = 0;
  while(i < 100000) {i++; console.log(i);};
}

function domUpdateDelayExperiment() {
  tellViewerLoading();
  someActionThatTakesALongTime();
}

domUpdateDelayExperiment();

JSFiddle:http://jsfiddle.net/johnhoffman/xDRVF/

Chcę, aby DOM był natychmiast aktualizowanytellViewerLoading() jest nazywany.

Zamiast tego wydaje się, że DOM wydaje się być aktualizowany posomeActionThatTakesALongTime() kończy bieg. W tym momencie wyświetlanie komunikatu ładowania jest bezużyteczne.

Jak powiedzieć javascript, aby natychmiast zaktualizował DOMtellViewerLoading() jest nazywany?

questionAnswers(2)

yourAnswerToTheQuestion