角度承诺:$q拒绝返回 html



当发生$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'))

最新更新