public void loadData() {
final Promise<VisionEncounter> vePromise = nodeMgr.getByEncounter(VisionEncounter.class);
final Promise<Patient> patientPromise = nodeMgr.getPatient();
final Promise<GetVisualAcuityMethodsAndConfigResponse> configPromise = VisualAcuityMethodsAndConfigCache.fetchAsPromise();
final Promise<List<VisionEncounter>> historyPromise = nodeMgr.query(VisionEncounter.class)
.filter(new Filter("encounterId")
.match("patientId", FancyEmrContext.get().getPatientId()))
.executeQuery();
Deferred.when(vePromise, patientPromise, configPromise,historyPromise).then(new EmrDeferredCallback<ArrayList<Object>>() {
@Override public void onSuccess(ArrayList<Object> objs) {
defaultCylinderSetting = configPromise.getResult().configuration.cylinderMethod;
patientAge = patientPromise.getResult().getAge();
updateView(vePromise.getResult());
List<VisionEncounter> result = historyPromise.getResult();
for (VisionEncounter e : result ){
if (e.glassesPrescriptions.isEmpty()){
view.setImportHide();
}
}
}
});
}
我可能没说清楚,是这样的, 一个页面中,有一个叫import 的label, 单击label会弹出一个popup 页面,如果页面里面有没有数据的话,这个import label将不显示在主页面上. 主要是不知道怎么去查找数据. 这个代码前面应该没问题,就是最后的那个loop 可能有问题,但不知道问题出在哪里. 我可以提供其他的相关代码 如果大神需要的话