Type 'Post[]' is not assignable to type 'Observable': error TS2322











up vote
0
down vote

favorite












I have googled both the message and error and it seems the issue I keep finding is not what I am dealing with.



I am an angular noob and feel I am finally close to getting my service wired up.



I am getting the above error on my component



it will squawk at the this.posts below.



 getPosts() {
this.postsService.get()
.subscribe((data: Post) => this.posts = data);};


and my service in case theres an issue there.



public get(): Observable<Post> {
return this.http
.get<Post>(this.accessPointUrl);}


Someone save my morning please!










share|improve this question


















  • 1




    What type is this.posts? I'm guessing Observable<Post>?
    – user184994
    Nov 8 at 11:52






  • 1




    @JeffLongo Change the type of this.posts from posts: Observable<Post> to posts: Post
    – user184994
    Nov 8 at 12:02






  • 1




    Add pipe operator in your service - that will help this.http.get<Post>(this.accessPointUrl).pipe();
    – Rahul Swamynathan
    Nov 8 at 12:08






  • 1




    In that case, change the type back to Observable<Post>, and remove the subscribe, so it becomes this.posts = this.postsService.get()
    – user184994
    Nov 8 at 12:09






  • 1




    When you say it's logging undefined, where are you logging? Is it inside the subscribe function, or outside? Because the code is asynchronous, so if you try to log it outside of the subscribe function it will never work
    – user184994
    Nov 8 at 12:21















up vote
0
down vote

favorite












I have googled both the message and error and it seems the issue I keep finding is not what I am dealing with.



I am an angular noob and feel I am finally close to getting my service wired up.



I am getting the above error on my component



it will squawk at the this.posts below.



 getPosts() {
this.postsService.get()
.subscribe((data: Post) => this.posts = data);};


and my service in case theres an issue there.



public get(): Observable<Post> {
return this.http
.get<Post>(this.accessPointUrl);}


Someone save my morning please!










share|improve this question


















  • 1




    What type is this.posts? I'm guessing Observable<Post>?
    – user184994
    Nov 8 at 11:52






  • 1




    @JeffLongo Change the type of this.posts from posts: Observable<Post> to posts: Post
    – user184994
    Nov 8 at 12:02






  • 1




    Add pipe operator in your service - that will help this.http.get<Post>(this.accessPointUrl).pipe();
    – Rahul Swamynathan
    Nov 8 at 12:08






  • 1




    In that case, change the type back to Observable<Post>, and remove the subscribe, so it becomes this.posts = this.postsService.get()
    – user184994
    Nov 8 at 12:09






  • 1




    When you say it's logging undefined, where are you logging? Is it inside the subscribe function, or outside? Because the code is asynchronous, so if you try to log it outside of the subscribe function it will never work
    – user184994
    Nov 8 at 12:21













up vote
0
down vote

favorite









up vote
0
down vote

favorite











I have googled both the message and error and it seems the issue I keep finding is not what I am dealing with.



I am an angular noob and feel I am finally close to getting my service wired up.



I am getting the above error on my component



it will squawk at the this.posts below.



 getPosts() {
this.postsService.get()
.subscribe((data: Post) => this.posts = data);};


and my service in case theres an issue there.



public get(): Observable<Post> {
return this.http
.get<Post>(this.accessPointUrl);}


Someone save my morning please!










share|improve this question













I have googled both the message and error and it seems the issue I keep finding is not what I am dealing with.



I am an angular noob and feel I am finally close to getting my service wired up.



I am getting the above error on my component



it will squawk at the this.posts below.



 getPosts() {
this.postsService.get()
.subscribe((data: Post) => this.posts = data);};


and my service in case theres an issue there.



public get(): Observable<Post> {
return this.http
.get<Post>(this.accessPointUrl);}


Someone save my morning please!







angular typescript






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Nov 8 at 11:50









Jeff Longo

6210




6210








  • 1




    What type is this.posts? I'm guessing Observable<Post>?
    – user184994
    Nov 8 at 11:52






  • 1




    @JeffLongo Change the type of this.posts from posts: Observable<Post> to posts: Post
    – user184994
    Nov 8 at 12:02






  • 1




    Add pipe operator in your service - that will help this.http.get<Post>(this.accessPointUrl).pipe();
    – Rahul Swamynathan
    Nov 8 at 12:08






  • 1




    In that case, change the type back to Observable<Post>, and remove the subscribe, so it becomes this.posts = this.postsService.get()
    – user184994
    Nov 8 at 12:09






  • 1




    When you say it's logging undefined, where are you logging? Is it inside the subscribe function, or outside? Because the code is asynchronous, so if you try to log it outside of the subscribe function it will never work
    – user184994
    Nov 8 at 12:21














  • 1




    What type is this.posts? I'm guessing Observable<Post>?
    – user184994
    Nov 8 at 11:52






  • 1




    @JeffLongo Change the type of this.posts from posts: Observable<Post> to posts: Post
    – user184994
    Nov 8 at 12:02






  • 1




    Add pipe operator in your service - that will help this.http.get<Post>(this.accessPointUrl).pipe();
    – Rahul Swamynathan
    Nov 8 at 12:08






  • 1




    In that case, change the type back to Observable<Post>, and remove the subscribe, so it becomes this.posts = this.postsService.get()
    – user184994
    Nov 8 at 12:09






  • 1




    When you say it's logging undefined, where are you logging? Is it inside the subscribe function, or outside? Because the code is asynchronous, so if you try to log it outside of the subscribe function it will never work
    – user184994
    Nov 8 at 12:21








1




1




What type is this.posts? I'm guessing Observable<Post>?
– user184994
Nov 8 at 11:52




What type is this.posts? I'm guessing Observable<Post>?
– user184994
Nov 8 at 11:52




1




1




@JeffLongo Change the type of this.posts from posts: Observable<Post> to posts: Post
– user184994
Nov 8 at 12:02




@JeffLongo Change the type of this.posts from posts: Observable<Post> to posts: Post
– user184994
Nov 8 at 12:02




1




1




Add pipe operator in your service - that will help this.http.get<Post>(this.accessPointUrl).pipe();
– Rahul Swamynathan
Nov 8 at 12:08




Add pipe operator in your service - that will help this.http.get<Post>(this.accessPointUrl).pipe();
– Rahul Swamynathan
Nov 8 at 12:08




1




1




In that case, change the type back to Observable<Post>, and remove the subscribe, so it becomes this.posts = this.postsService.get()
– user184994
Nov 8 at 12:09




In that case, change the type back to Observable<Post>, and remove the subscribe, so it becomes this.posts = this.postsService.get()
– user184994
Nov 8 at 12:09




1




1




When you say it's logging undefined, where are you logging? Is it inside the subscribe function, or outside? Because the code is asynchronous, so if you try to log it outside of the subscribe function it will never work
– user184994
Nov 8 at 12:21




When you say it's logging undefined, where are you logging? Is it inside the subscribe function, or outside? Because the code is asynchronous, so if you try to log it outside of the subscribe function it will never work
– user184994
Nov 8 at 12:21












2 Answers
2






active

oldest

votes

















up vote
0
down vote













just return the http.



return this.http
.get(this.accessPointUrl);}


Declare the type of posts as post



posts: Post;





share|improve this answer




























    up vote
    0
    down vote













    There are two options you either change your posts variable to Post
    or you dont subscribe to the get() method of your service and directly assign it to your observable variable like this:



    this.posts = this.postsService.get();





    share|improve this answer





















      Your Answer






      StackExchange.ifUsing("editor", function () {
      StackExchange.using("externalEditor", function () {
      StackExchange.using("snippets", function () {
      StackExchange.snippets.init();
      });
      });
      }, "code-snippets");

      StackExchange.ready(function() {
      var channelOptions = {
      tags: "".split(" "),
      id: "1"
      };
      initTagRenderer("".split(" "), "".split(" "), channelOptions);

      StackExchange.using("externalEditor", function() {
      // Have to fire editor after snippets, if snippets enabled
      if (StackExchange.settings.snippets.snippetsEnabled) {
      StackExchange.using("snippets", function() {
      createEditor();
      });
      }
      else {
      createEditor();
      }
      });

      function createEditor() {
      StackExchange.prepareEditor({
      heartbeatType: 'answer',
      convertImagesToLinks: true,
      noModals: true,
      showLowRepImageUploadWarning: true,
      reputationToPostImages: 10,
      bindNavPrevention: true,
      postfix: "",
      imageUploader: {
      brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
      contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
      allowUrls: true
      },
      onDemand: true,
      discardSelector: ".discard-answer"
      ,immediatelyShowMarkdownHelp:true
      });


      }
      });














       

      draft saved


      draft discarded


















      StackExchange.ready(
      function () {
      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53207168%2ftype-post-is-not-assignable-to-type-observablepost-error-ts2322%23new-answer', 'question_page');
      }
      );

      Post as a guest















      Required, but never shown

























      2 Answers
      2






      active

      oldest

      votes








      2 Answers
      2






      active

      oldest

      votes









      active

      oldest

      votes






      active

      oldest

      votes








      up vote
      0
      down vote













      just return the http.



      return this.http
      .get(this.accessPointUrl);}


      Declare the type of posts as post



      posts: Post;





      share|improve this answer

























        up vote
        0
        down vote













        just return the http.



        return this.http
        .get(this.accessPointUrl);}


        Declare the type of posts as post



        posts: Post;





        share|improve this answer























          up vote
          0
          down vote










          up vote
          0
          down vote









          just return the http.



          return this.http
          .get(this.accessPointUrl);}


          Declare the type of posts as post



          posts: Post;





          share|improve this answer












          just return the http.



          return this.http
          .get(this.accessPointUrl);}


          Declare the type of posts as post



          posts: Post;






          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Nov 8 at 11:51









          Sachila Ranawaka

          17.6k32043




          17.6k32043
























              up vote
              0
              down vote













              There are two options you either change your posts variable to Post
              or you dont subscribe to the get() method of your service and directly assign it to your observable variable like this:



              this.posts = this.postsService.get();





              share|improve this answer

























                up vote
                0
                down vote













                There are two options you either change your posts variable to Post
                or you dont subscribe to the get() method of your service and directly assign it to your observable variable like this:



                this.posts = this.postsService.get();





                share|improve this answer























                  up vote
                  0
                  down vote










                  up vote
                  0
                  down vote









                  There are two options you either change your posts variable to Post
                  or you dont subscribe to the get() method of your service and directly assign it to your observable variable like this:



                  this.posts = this.postsService.get();





                  share|improve this answer












                  There are two options you either change your posts variable to Post
                  or you dont subscribe to the get() method of your service and directly assign it to your observable variable like this:



                  this.posts = this.postsService.get();






                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered Nov 8 at 12:00









                  locohost

                  235




                  235






























                       

                      draft saved


                      draft discarded



















































                       


                      draft saved


                      draft discarded














                      StackExchange.ready(
                      function () {
                      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53207168%2ftype-post-is-not-assignable-to-type-observablepost-error-ts2322%23new-answer', 'question_page');
                      }
                      );

                      Post as a guest















                      Required, but never shown





















































                      Required, but never shown














                      Required, but never shown












                      Required, but never shown







                      Required, but never shown

































                      Required, but never shown














                      Required, but never shown












                      Required, but never shown







                      Required, but never shown







                      Popular posts from this blog

                      Guess what letter conforming each word

                      Port of Spain

                      Run scheduled task as local user group (not BUILTIN)