2017-03-27 1 views
2

Android 용 Nativescript 앱을 디버깅하려고하는데 구문 오류가 해당 줄과 열로 더 이상 인쇄되지 않습니다. 심지어 console.log 문도 포함되지 않습니다. 이 기능을 다시 활성화하려면 어떻게해야합니까? 앱을 실행하는 데 사용하는 명령은 tns run android입니다. Nativescript 버전 2.5.2를 사용하고 있습니다. VSCode 플러그인은 내가 배치 한 모든 중단 점을 무시하고 콘솔에 오류를 표시하지 않기 때문에 작동하지 않습니다. 내가 무엇을 할 수 있을지?Nativescript 앱이 콘솔에 인쇄되지 않음

편집 :

단지 console.error() 문이 인쇄되는 것으로 보인다.

+0

후크 폴더를 삭제하고 응용 프로그램을 다시 실행하십시오. –

+0

프로젝트와 관련이 없다고 생각합니다. 이전 버전과 마찬가지로 2016 년 말까지 모든 것이 정상적으로 작동했습니다. 바르게. – arielnmz

+0

에뮬레이터에서 플랫폼, node_modules 및 app를 삭제하려고 할 수 있습니다. 경우에 따라 이러한 방식으로 프로젝트를 정리하면 예기치 않은 이상한 문제가 해결됩니다. 또한 2.5.0으로 되 돌리려고 시도 할 수 있습니다. 그 버전은 저에게 단단하고 여전히 사용하고 있습니다. –

답변

0

다양한 종류의 구성을 많이 사용하고 Nativescript가 일반 브라우저 JS와 어떤 관련이 있는지 자세히 조사한 결과, Promises의 사용에 문제가 있다는 것을 알게되었습니다. 오류가 발생하면 catch()으로 실행이 지연됩니다. 다른 정규 프로그래밍 언어와 달리, 약속 안의 "처리되지 않은"거부 된 결과는 어떤 종류의 예외도 발생시키지 않습니다. 즉, 기본적으로 코드에서 호출하는 모든 약속에 대해 catch() 메서드 호출을 연결해야만 오류 약속을 생성 할 수 있습니다. 이것은 네비게이션과 관련된 약속에도 적용됩니다. 물건이 더 까다로워지는 경우 : 다음보기 (예 : view.js)가 자체적으로 호출 스택을 가지며 여기에 약속 안의 코드에서도 처리되지 않은 예외가 발생한다고 생각할 수 있습니다 그러나 그렇지 않습니다. view.js에서 생성 된 예외는 내비게이션을 시작한 약속의 catch() 메소드에 의해 캡처되고 이후의 약속에는 오류가 발생하지 않기 때문에 자체 catch() 메소드 호출이 있어야합니다. 이전보기로. 다른 많은 골치 아픈 구조를 생각할 수도 있지만 중요한 비트가 분명히 남아 있기를 바랍니다. 은 모든 약속에 항상 캐치 콜을 연결합니다.

관련 문제