php - Angular 10 Call a function from component to services file

So i call the function like this under construction brackets.

  constructor()
  {
     userData.getUserBySignature(this.userDetails.api_signature);
  }

user-data.ts

     getUserBySignature(api_signature:any)
{
    const url = this.appData.getApiUrl() + 'getUserBySignature';
    const data = this.jsonToURLEncoded({
        api_signature: api_signature
    });
    return this.http.post(url, data, { headers: this.options });
}

php function

   function getUserBySignature()
   {
     $request = \Slim\Slim::getInstance()->request();
     $api_signature = $request->post('api_signature');

      $db = getDB();
      $sql = "SELECT api_signature, uid,username,name,first_name,last_name,bio,artisticBehaviour,location,email,profile_pic,profile_bg,updates_count,friend_count,profile_views,group_count,emailNotifications FROM users WHERE api_signature=:api_signature";
      $stmt = $db->prepare($sql);
      $stmt->bindParam("api_signature", $api_signature, PDO::PARAM_STR);
      $stmt->execute();
      $userDetails = $stmt->fetch(PDO::FETCH_OBJ); //this one?

      if (!empty($userDetails)) {
        return $userDetails;
      } else {
        $data['error'] = 'Invalid API signature33' . $api_signature;
        echo json_encode($data);
        exit;
      }
   }

}

but it doesnt work. i am getting 'Invalid API signature33' . $api_signature; without the $api_signature.

Any idea how to do that?

Answer

Solution:

Need to inject the service to the constructor first and then subscribe to the observable to resolve data

constructor(private userData: userData)
  {
       userData.getUserBySignature(this.userDetails.api_signature).subscribe((data)=> { 
             console.log(data) // should return the data 
       });
  }

Source