일반적인 프로그램은 동기적 즉, 절차적으로 진행이 된다. 하지만 이렇게 동기적으로만 프로그램이 user experience 가 나빠지는 경우가 대다수 이다. 그 사례로 아래의 그림을 보면 도라에몽 그림을 다운 받고 그리는 절차는 다운받는 동안에는 도라에몽을 그릴 수 없기에 밑에 5번 부터 실행한다. 그럼 5번을 실행하고 있다가 도라에몽 다운로드가 끝나면, 5번 그림을 그리기 끝낸 후인 cpu 혹은, 아직 그리는 도중인 cpu가 call back에 의해 4번인 도라에몽 그림그리기를 진행한다. 그 후 다시 5번을 그리는 순서로 진행 되는 것이 비동기적 절차이다.
그리고 이러한 프로그램 절차를 사용하기 위해 ajax통신을 사용한다.