3 건의 아약스 요청을 실행해야합니다. 나는 그것들이 기본적으로 비동기가된다는 것을 안다. (그래서 VM을 동기식으로 만들어 버린다. 그런 식으로하고 싶지 않다.) 내가하는 일은 변수를 3 번 전달하는 함수를 호출하는 것이다.Javascript에서 재귀 콜백을 시퀀싱하는 방법은 무엇입니까?
그러나 지금보기()는 결과가 조리되지 않으면 즉시 트리거됩니다. 어떻게하면 다른 것들을 하나씩 발생 시키도록 설정할 수 있습니까? 나는 콜백에 대해서 읽었지 만 3 가지 기능이 없기 때문에 혼란 스럽지만 다른 변수를 취하는 것은 매우 혼란 스럽다.
var variables = [var1, var2, var3];
function callParse() {
if(variables.length) {
var currentVar = variables.shift();
parse(currentVar);
}
else {
view();
}
}
function parse(variable){
//ajax request here
$.ajax({
type:"POST",
url:'script.php',
data:{variable:variable},
success:function(data)
{
result+=data;
callParse();
}
});
}
function view(){
//do something with result
}
약속을 살펴보십시오. 콜백 지옥을 탐구 할 필요없이 시퀀스 된 콜백을 수행 할 수있는보다 관리하기 쉬운 방법입니다. – zero298