Angular1.x与Angular2有很大的不同。
http请求的差别
同样一个后端的链接,返回来的值确实不同的,需要注意。看?这个例子。
angular2-http.png
在angular2中,很多http请求的返回是直接这样写的。
代码语言:javascript复制recycle(flowType: string, recordId: string): Promise<any> {
const url = `/mobileoa/workflow/cancelFlow?_method=PUT&flowType=${flowType}&recordId=${recordId}`;
return this.http.post(url, {}, { headers: this.headers })
.toPromise()
.then(response => {
return response.json() as any;
});
}
这样写的结果就是response.json()中返回给上一层的数据就相当于angular1.x中的response.data
了,<u>所以不能再return response.json().data as any
</u>.
angular1.x-http.png
所以这一点返回的时候,要格外的注意一下,需要真实的看一下,API到底返回的是什么值,才能去模拟,去进行单元测试,不然单元测试时测试不出来这个bug的!