node.js - hur skulle jag returnera mitt objekt från Ionic Storage


Jag arbetar på ett projektuppdatering där dashboard-sidan har mer än 3 000 rader med kod.

jag vill fortsätta med det tidigare arbetet

så jag vill konvertera denna funktion

  returnUserDetails(){
       var userDetails = JSON.parse(localStorage.getItem("userData"));

       return userDetails ;      
     }

till den här men ger error av undefined returvärde

 returnUserDetails(){
    var userData;
    this.storage.get('userData').then((val) => {
         userData = JSON.parse(val);  
     });

   return userData; 
 }

Fråga: Jag kan inte använda global variabel eftersom denna funktion används så många gånger. Hur kan jag returnera värdet korrekt

Svar #1

Du kan bara returnera löftet

 returnUserDetails(){   
    return  this.storage.get('userData').then((val) => {
          let userData = JSON.parse(val); 
          return userData;
     });
 }

Svar #2

Eftersom du hanterar Async-metoden behöver du göra det som visas nedan.

returnUserDetails(): Promise<any> {        
    return this.storage.get('userData').then((val) => {
         return val;  
     });      
 }