runasync {} ui {}
때때로 ui {} 블록이 트리거되고 때로는 실행되지 않습니다. 그것을 일으키는 원인. runasync {}의 태스크가 빠른 태스크 인 경우, ui {}가 작동하지 않는다는 것을 이해해야합니다. 도와주세요. 그것은 다소 실망 스럽습니다.Tornarofx runasync {} 문제
runasync {} ui {}
때때로 ui {} 블록이 트리거되고 때로는 실행되지 않습니다. 그것을 일으키는 원인. runasync {}의 태스크가 빠른 태스크 인 경우, ui {}가 작동하지 않는다는 것을 이해해야합니다. 도와주세요. 그것은 다소 실망 스럽습니다.Tornarofx runasync {} 문제
실제로 이것은 ui
기능의 설계 상 결함이었습니다. 이 작업이 이미 완료 되었는 지 확인하지 않고 전달 된 함수를 s etOnSucceeded
콜백에 첨부했습니다. 이 문제는 tornadofx-1.7.14-SNAPSHOT
으로 수정되었으며, 지금 oss.sonatype.org에서 사용할 수 있습니다. 스냅 샷 릴리즈를 사용하는 방법에 대한 정보는 README page을 참조하십시오.
실제로 이것은 runasync의 디자인 결함입니다. 작업 블록 내에서 println 또는 유사 작업을 수행하는 동안 우리가 만났던 하나의 결함입니다. 나는 실제 작업을하는 동안 아무도 물지 않는 것을 본 적이 없으며, 우리가 좋은 해결책을 찾지 못했기 때문에 그렇게했습니다. 당신이하고있는 일이 너무 빨리 실행되어 실패했다고 말할 수 있습니까? 대안은 JavaFX'Task'를 수동으로 생성하고 성공 콜백을 첨부하는 것입니다. 이 문제를 자세히 조사하고 영구적 인 해결책을 찾고 싶습니다. –
확인해 주셔서 감사합니다. 사실이 문제는 프로그램을 불안정한 상태로 만듭니다. 그것은 예측할 수 없습니다. 컨트롤러에서 관측 가능 목록을 얻으려고했는데 정상적인 사용 사례라고 생각합니다. 그런 다음 itemsview = it 내부에서 tableview를 처리했습니다. ui 블록이 실행되지 않으면 테이블보기에 데이터가 표시되지 않습니다. – Adi
블록에 fail {} 기능을 추가 할 수 있습니까? 이렇게하면 응용 프로그램 예외를 배제 할 수 있습니다. runAsync {} 블록에서 예외가 발생하면 ui {}가 호출되지 않을 수 있습니다. runAsync {...} ui {...} fail {...} –