2014-09-27 7 views
0

티타늄에서 서비스 호출을 호출하는 버튼이있는 화면을 구현했으며 응답을 받으면 다음 화면으로 이동합니다. 응답을받을 때까지 첫 번째 화면에 활동 표시기를 추가했습니다. 사용자가 버튼 BACK ANDROID 에서, 응용 프로그램이 종료 가압하고 메시지 을 표시하는 경우,이 작동 표시가 작동하는 동안티타늄 : BACK 버튼이 ANDROID를 누를 ​​때 서비스 호출을 중단하는 방법은 무엇입니까?

"애플리케이션이 갑자기 중단되었다."

사용자가 인조BACK 버튼을 누를 경우 서비스 호출을 중단하고 동일한 화면에 그 토지 또는 오류없이 응용 프로그램을 종료 할 수있는 방법이 있습니까?

답변

0

나는 당신이 만들고있는 서비스 호출에 조치가 처리되기 전에 eventListeners가 묶여있는 고리가 있는지 확인합니다. 하나가 될지는 의문이지만, 한 번 볼만한 가치가 있습니다.

일단 서비스 호출이 전송되면 비동기 적으로 업데이트되며 기회가없는 것으로 가정합니다.

예를 들어 API 응답을 호출하는 경우 시간 초과 값과 이러한 경우에 발생하는 오류 캐치를 설정할 수 있습니다.

var url = "serviceURL"; 
var xhr = Ti.Network.createHTTPClient({ 
    onload: function(e) { 
     // this.responseText holds the raw text return of the message (used for JSON) 
     // this.responseXML holds any returned XML (used for SOAP web services) 
     // this.responseData holds any returned binary data 

     Ti.API.debug(this.responseText); 
     alert('success'); 
    }, 
    onerror: function(e) { 
     Ti.API.debug(e.error); 
     alert('error'); 
    }, 
    timeout:5000 
}); 

오류 기능에서는로드 휠 개체를 닫을 수 있습니다.

예 :

loadingWheel.close(); 

원래의 창 컨텍스트를 사용하여 다른 창으로 사용자를 안내합니다.

이 옵션을 구현하는 또 다른 옵션은 서비스의 응답을 기다리고 서비스가 결과를 반환하기 전에 중단되는 기본 시간 초과 기능을 작성하는 것입니다. 이 오류를 잡아서 합리적인 시간 내에 반환하기 전에 새 창을로드하지 않고 사용자에게 로딩 휠을 계속 표시 할 수 있습니다.