2017-06-12 1 views
2

est-il possible de retourner un fichier html lorsque le rejet de $ q.defer se produit? Je charge une carte en utilisant la fonction ci-dessous, le problème est lorsque le deferred.reject() arrive, la carte entière devient vide. J'ai essayé une fonction d'alerte à l'intérieur du rejet à ceci est une erreur et cela fonctionne, mais la page d'utilisateur est toujours vide et l'utilisateur ne peut pas naviguer à moins qu'ils ne retournent la page. Donc, est-il possible d'afficher un fichier html entier comme deferred.reject ('test.html') quelque chose comme ça. Je suis nouveau au script java et à la programmation en général.

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 
} 

donc essentiellement les charges de loadData des choses comme des marqueurs et des diagrammes à l'intérieur d'une carte, le problème est le choix d'un utilisateur sans carte de données, la page entière devient vide, c'est la configuration de la route ui pour la 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'] 
 
      }) 
 
     } 
 
     } 
 
    }); 
 
})

+0

... vous avez une erreur de redirection ou gestionnaire d'erreur sur le serveur, vous pouvez voir les détails d'erreur en html – harishr

+0

Ce qui est retourné dans la réponse réussie; est-ce aussi html? Il y a plusieurs façons de faire ce que vous voulez sur le serveur ou le client. – ChiefTwoPencils

+0

Je voudrais établir une norme pour les données renvoyées. Vous pouvez retourner des valeurs par défaut, mais valides, qui ne briseront pas votre vue. – ChiefTwoPencils

Répondre

0

J'ai trouvé une meilleure solution facile à où je l'Etat va tirer l'utilisateur à une page existante

   deferred.reject(this.$state.go('administration.assets'))

question de côté service