服务是
import { Injectable } from '@angular/core';
import { HTTP, HTTPResponse } from '@ionic-native/http/ngx';
import { Promise } from 'q';
@Injectable({
providedIn: 'root'
})
export class YfapiService {
private baseUrl: string;
constructor(private http: HTTP) {
this.baseUrl = "valid url delivering some json";
}
public getDriverDetails(driverKey: string): Promise<HTTPResponse> {
return Promise((resolve, reject) => {
this.http.get(this.baseUrl, {}, {})
.then(response => resolve(response.data))
.catch(error => reject(error));
});
}
};
url是有效的东西,它还提供内容类型为application / json的json。但是,在“响应”中有“数据”,而response.data始终是一个字符串,其中包括从远程服务接收到的json。如何将其转换为json?
JSON.parse似乎不可用。所以第二个问题是:我做错了什么,还是错过了?
离子V4.10.3 科尔多瓦8.1.2 最近几天安装的插件 平台:Windows 10,Java 8 Cordova中设置的平台:浏览器,Android
摘要:
A。)如何用json中的响应履行承诺 B.)如果不可能,那么当JSON.parse()不可用时如何将字符串转换为JSON,或者如何使JSON.parse()在我的项目中可用?
答案 0 :(得分:0)
经过2天的摆弄,我很失望,因此关闭了所有窗口,命令行等。最后,我在任务管理器中杀死了node.js服务。后来冒烟了,我开始了新的尝试。可以说,JSON现在可用,Promise可以按预期方式工作-但两者都仍被Visual Studio Code标记为“未知”。当我想到这个时,Visual Studio Code开始为我提供更新。我去了。
该说些什么:更新有帮助,有时您和您的机器都休息一下也可以帮助解决问题。也许这有助于将来的可怜人。