angular - 如何在角度 5+ 中使用大数?
问题描述
我将 Angular 5 与 .Netcore 2.0 一起使用。我正在使用 API 控制器来处理推文(LinqToTwitter)。推文来自控制器的我的打字稿,除了statusID
19 位数长之外,一切都很好。
statusID
应该是:XXXXXXXXXXXXXXXXXX573
但它是通过键入脚本为:XXXXXXXXXXXXXXXX600
API控制器:
[HttpPost("[action]")]
public async Task<Search> GetAllTweetsByNamePost([FromBody] SearchQuery searchQuery)
{
searchVal = searchQuery.Name;
Twitter twit = new Twitter();
twit.Initialise();
var t = await twit.Fetch(searchVal, 50, true, SearchType.Search);
return t[0];
}
当我检查Status
控制器中的 ID 时,它显示了正确的 ID,但是它到达 TS 的时间statusID
不同,并且数字中有一个模式。
前 16 位数字正确,后 3 位递增 100,例如
XXXXXXXXXXXXXXXX100 XXXXXXXXXXXXXXXX200 XXXXXXXXXXXXXXXX300
在 Api 控制器中,我使用的是LinqToTwitter
Status
object
. 中的属性类型Status
object
是公共的ulong SinceID { get; set; }
,我已经设置了 TS 模型的属性是statusID: any;
getSocialDataTwitter(searchQuery) {
const headers = new HttpHeaders().set('content-type', 'application/json');
return this.http.post<LeftOperatorPaneltwitter>(this.baseUrl + 'api/OperationData/GetAllTweetsByNamePost', '{"Name":"' + searchQuery + '"}', { headers }).subscribe(result => {
this.tweets = result;
result.statuses.forEach(search => {
console.log(search.statusID + ' This is my Status ID');
})
}, error => console.error(error));
}
解决方案
Javascript 无法处理这种长度的数字。据此,最大安全整数值为:9007199254740991
。我建议将您的 ID 表示为string
.
推荐阅读
- python - 熊猫数据框多列条形图
- javascript - 当 API 调用后的 setState 时反应不重新渲染
- python - vscode:如何自动缩进jupyter notebook ipynb文件?
- .net-core - 如何让 Rider 再次显示 API 文档?
- python - 创建一个函数以根据给定参数作为列表和熊猫中的特定条件在数据框中创建新行
- angular - 部署 MEAN Stack 应用程序,托管问题
- java - 来自接收器的奇怪错误与 Sqlite 数据库
- angular - Google Maps JavaScript API 错误:ApiNotActivatedMapError 尽管 Google Maps JavaScript API 已启用
- sql - SQL通过触发器更新两个不同的服务器
- selenium - Robot Framework Selenium Go To 关键字被浏览器弹出窗口阻止