我正在学习创建非常简单且基本的角度应用程序。我决定在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'。但是我仍然无法解决这个问题。请纠正我。
答案 0 :(得分:1)
将this.map
替换为map
。使用this
关键字意味着map
是'TwitterserviceService'服务的成员变量。