当发生$q.defer ject时是否可以返回HTML文件? 我正在使用以下函数加载地图,问题是当 deferred.reject(( 发生时,整个地图变为空白。我在拒绝这是一个错误的情况下尝试了一个警报功能,它可以工作,但是用户页面仍然是空白的,除非他们点击返回页面,否则用户无法导航。那么,是否可以显示像deferred.reject('test.html'(这样的整个html文件。我是Java脚本和编程的新手。
loadData = () => {
let deferred = this.$q.defer();
this.siAsset.getAllcomponents().then((resp) => {
if(resp.statusCode){
deferred.reject('No Mappable Assets Found');
}else{
deferred.resolve(resp)
}
}, (err) => {
if(err =="TypeError: Cannot read property 'components' of null"){
deferred.reject('No Mappable Assets Found');
}else{
this.$log.error(err)
}
})
return deferred.promise
}
所以本质上 loaddata 在地图中加载标记和图表之类的东西,问题是当选择没有地图数据的用户时,整个页面变为空白,这是页面的 UI 路由设置
.config(($stateProvider) => {
"ngInject";
$stateProvider
.state('map', {
url: '/map',
component: 'map',
resolve:{
loadData:(siMapUtils) => {return siMapUtils.loadData()},
isAuthenticated: (siUser) => {
return siUser.isAuthenticated()
},
isAccessible: (siRoutePermissions) => {
return siRoutePermissions.validate({
permissionModules:['MAP_READ']
})
}
}
});
})
我找到了一个更好和简单的解决方案,我使用state go将用户拍摄到现有页面
deferred.reject(this.$state.go('administration.assets'))