J'espère pouvoir utiliser le temps pour déterminer si les données sont à nouveau récupérées via l'interface ou directement depuis le stockage local. Cependant, l'interface renvoie un objet de promesse si vous utilisez if else pour déterminer si elle rapportera une promesse. alors ce n'est pas une fonction.
Prenez un instant après le chargement de la page, puis prenez le temps lorsque vous cliquez sur Actualiser. Regardez le décalage horaire pour déterminer s'il faut utiliser local ou interface. La logique des deux est différente, ils doivent donc être appelés de différentes manières. Enfin, attribuez la valeur à la variable qui stocke les données sur la page, afin que l'erreur que vous avez mentionnée ne se produise pas.
Supplément :
Par exemple, les données de votre page sont stockées à l'aide de
$scope.data
.Accédez au moment du chargement de la page et stockez-le dans la variable de démarrage.
Lorsque vous cliquez sur Actualiser, obtenez l'heure de fin et enregistrez-la comme fin. Vous pouvez également obtenir directement le décalage horaire. Si le décalage horaire est supérieur ou égal à une minute, récupérez les données depuis l'interface. Sinon, récupérez les données de localStorage.
L'interface récupère les données et renvoie une promesse, tandis que localStorage renvoie une chaîne.
Le code affiche uniquement la logique et ne peut pas être exécuté directement.