Angular1.x VS Angular2

Angular1.x与Angular2有很大的不同。

http请求的差别

同样一个后端的链接,返回来的值确实不同的,需要注意。看这个例子。


Angular1.x VS Angular2_第1张图片
angular2-http.png

在angular2中,很多http请求的返回是直接这样写的。

recycle(flowType: string, recordId: string): Promise {
    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了,所以不能再return response.json().data as any.

Angular1.x VS Angular2_第2张图片
angular1.x-http.png

所以这一点返回的时候,要格外的注意一下,需要真实的看一下,API到底返回的是什么值,才能去模拟,去进行单元测试,不然单元测试时测试不出来这个bug的!

你可能感兴趣的:(Angular1.x VS Angular2)