Dans angulaire 1.5.8, lorsque j'appelle l'interface pour renvoyer des données, si le paramètre de requête est vide ou indéfini, alors retournez, mais la valeur renvoyée par ce retour est vide et n'a pas .then, et une erreur est signalée
Code du cas :
onGoodsNameAutoComplate = (value: string) => {
if (!this.clientId || !this.$scope.goodsTypeId) {
return;//这边返回就是空的,没有.then,则会报错
};
return this.goodsService.getList(this.clientId, value, this.$scope.goodsTypeId, 0, 5).then(res => {
return res.data.list;
})
}
Code d'erreur :
TypeError: Cannot read property 'then' of undefined
at T (angucomplete-alt.min.js:2)
at $ (angucomplete-alt.min.js:2)
at m.b.onFocusHandler (angucomplete-alt.min.js:2)
at fn (eval at compile (angular.js:14817), <anonymous>:4:233)
at b (angular.js:15906)
at e (angular.js:25885)
at m.$eval (angular.js:17682)
at m.$apply (angular.js:17782)
at HTMLInputElement.<anonymous> (angular.js:25890)
at HTMLInputElement.dispatch (jquery.min.js:3)
Je veux être ici :
if (!this.clientId || !this.$scope.goodsTypeId) {
return;//这边模拟返回一个空的promise对象,就不会报错了。。。
};
Comment simuler un objet de promesse vide ? Trouvez la solution ! Merci!
Tout d'abord, j'utilise ng1+ts ici, je dois d'abord faire attention à l'injection de $q
.J'ai trouvé une meilleure façon