Angular 承诺:$q 拒绝 return html?

Angular Promise: $q reject return html?

是否可以在发生 $q.defer 拒绝时 return 一个 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
}

so essentially the loaddata loads things like markers and diagrams inside a map, the problem is when choosing a user with no map data, the entire page becomes blank , this is the ui route setup for the page

.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'))