일부 데이터를 다운로드하려면 ASIHTTPRequest를 사용하고 있습니다.ASIHTTPRequest의 요청 순서
내가하는 방법으로 다음과 같습니다 callThirdRequest
내에서 지금
// Request 1
request1.tag = 1;
[request1 setDelegate:self];
[request startAsynchronous];
// Request 2
request2.tag = 2;
[request2 setDelegate:self];
[request2 startAsynchronous];
// Call third request method
[self callThirdRequest];
, 나는 request2
에서 다운로드하고 거기에, 내가 startAsynchronous
를 호출하고 일부 데이터를 잡아하고있다. 세 번째 요청을 별도의 메서드에서 호출하는 이유는 두 번 이상 호출되기 때문입니다. 일부 콘솔 출력을 넣은 후 request2
이 다운로드되기 전에 callThirdRequest
이 호출 된 것으로 보입니다. 따라서 callThirdRequest
이 request2
에 의해 다운로드 된 일부 데이터를 가져 오려고 시도 할 때 데이터가 없으므로 작동하지 않습니다.
왜 그럴까요? request2
다운로드가 완료된 경우에만 callThirdRequest
이 호출되도록하려면 어떻게해야합니까?
감사합니다.
그건 내가 한 일입니다. 감사! 세 번째 요청은 데이터를 다운로드하기 위해 여러 번 호출됩니다. 결국, 나는 창문을 열고 싶다. 마지막 요청이 언제 호출되었는지 어떻게 알 수 있습니까? – darksky
확실하지는 않습니다. 데이터의 특성에 따라 쉽게 결정할 수 있습니다. 분명히 델리게이트 콜백을 사용하고 '태그'가 3인지 확인할 수 있지만 마지막 호출이 언제인지를 알아야합니다. – Moshe
세 번째 요청을 동기식 호출로 설정하고 다운로드가 끝나면 창을 설정하는 것이 더 좋습니까? 세 번째 요청이 몇 번 실행되기 때문에 이것이 작동하는지 확신 할 수 없습니다. – darksky