我使用JHipster创建了一个微服务应用程序。我的一个微服务有一个REST API,需要很长时间才能将资源返回给角度客户端。因此,角度客户端不会等待响应并且什么也不做。
是否有一个属性可以设置在角度侧或服务器端以增加超时,以便前端"实体" $ resource调用等待后端REST服务返回数据?
更新以提供其他信息: 在我的REST方法中,我注释掉了从数据库中获取数据的实际DB调用。我添加了5秒的睡眠,然后将虚拟物体发送回角度前端。如果睡眠<= 4秒,那么我在前端接收虚拟数据。如果它超过4秒,那么前端只是没有收到任何东西(或者不等待REST响应)......
不确定是否有任何设置告诉angular等待REST服务无论如何响应...... ??
这是我的REST方法......
@GetMapping("/history-report-mms")
@Timed
public List<HashMap<String, Object>> getAllHistoryReportMMS() {
log.debug("REST request to get all HistoryReportMMS");
try {
Thread.sleep(4000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
List<HashMap<String, Object>> list = new ArrayList<HashMap<String, Object>>();
HashMap<String, Object> map = new HashMap<String, Object>();
map.put("foo", "bar");
list.add(map);
return list;
//return historyReportMMSService.findAll();
}
这是我的前端代码......
(function(){ &#39;使用严格的&#39;;
angular
.module('mmsFrontEndGatewayApp')
.controller('HistoryReportMMSController', HistoryReportMMSController);
HistoryReportMMSController.$inject = ['HistoryReportMMS', 'HistoryReportMMSSearch'];
function HistoryReportMMSController(HistoryReportMMS, HistoryReportMMSSearch) {
var vm = this;
vm.historyReportMMS = [];
vm.clear = clear;
vm.search = search;
vm.loadAll = loadAll;
loadAll();
function loadAll() {
HistoryReportMMS.query(function(result) {
vm.historyReportMMS = result;
vm.searchQuery = null;
});
}
function search() {
if (!vm.searchQuery) {
return vm.loadAll();
}
HistoryReportMMSSearch.query({query: vm.searchQuery}, function(result) {
vm.historyReportMMS = result;
vm.currentSearch = vm.searchQuery;
});
}
function clear() {
vm.searchQuery = null;
loadAll();
} }})();