类型“ TwitterserviceService”上不存在属性“地图”

时间:2020-02-15 22:51:09

标签: angular typescript

我正在学习创建非常简单且基本的角度应用程序。我决定在Twitter时间轴上显示我的推文。我关注了一些youtube教程和一些博客。特别是-Connect to the Twitter API in an Angular 6 App。我能够创建一个基本的工作角度扭曲应用程序(一个虚构的名称)。我将向您展示我的代码:

server.js (此代码没有错)

const express = require('express');
const Twitter = require('twit');
const app = express();

app.listen(3000, () => console.log('Server running'));

const api_client = new Twitter({
    consumer_key: 'MY_KEY',
    consumer_secret: 'MY_SECRET_KEY',
    access_token: 'MY_TOKEN',
    access_token_secret: 'MY_SECRET_TOKEN'
})

app.get('/home_timeline', (req, res) => {
    const params = { tweet_mode: 'extended', count: 10 };

    api_client
      .get('statuses/home_timeline', params)
      .then(timeline => {
        res.send(timeline);
      })
      .catch(error => {
      res.send(error);
    });
});

然后我创建了 twitterservice.service.ts (此代码中的错误)

import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { map } from 'rxjs/operators';

@Injectable({
  providedIn: 'root'
})
export class TwitterserviceService {

  api_url = 'https:/localhost:3000';

  constructor(private http: HttpClient) { }

  getTimeline() {
    return this.http
      .get<any[]>(this.api_url+'/home_timeline')
      .pipe(this.map(data => data));  //ERROR: Property 'map' does not exist ...
  }
}

对于map,我得到了:

“ TwitterserviceService”类型上不存在“地图”。

但是,我的 server.js 运行得很好。我已经在Postman上对其进行了测试,并且得到了所需的JSON输出。我尝试在互联网上寻求帮助,阅读了一些文章和问题,例如:Property 'map' does not exist on type 'Observable'。但是我仍然无法解决这个问题。请纠正我。

1 个答案:

答案 0 :(得分:1)

this.map替换为map。使用this关键字意味着map是'TwitterserviceService'服务的成员变量。