2024年最新Angular权威教程之http篇_angular http,技术总监上面是什么

总结:

  • 函数式编程其实是一种编程思想,它追求更细的粒度,将应用拆分成一组组极小的单元函数,组合调用操作数据流;

  • 它提倡着 纯函数 / 函数复合 / 数据不可变, 谨慎对待函数内的 状态共享 / 依赖外部 / 副作用;

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

Tips:

其实我们很难也不需要在面试过程中去完美地阐述出整套思想,这里也只是浅尝辄止,一些个人理解而已。博主也是初级小菜鸟,停留在表面而已,只求对大家能有所帮助,轻喷🤣;

我个人觉得: 这些编程范式之间,其实并不矛盾,各有各的 优劣势

理解和学习它们的理念与优势,合理地 设计融合,将优秀的软件编程思想用于提升我们应用;

所有设计思想,最终的目标一定是使我们的应用更加 解耦颗粒化、易拓展、易测试、高复用,开发更为高效和安全

void {
this.loading = true;
this.http.request(‘http://jsonplaceholder.typicode.com/posts/1’)
.subscribe((res: Response) => {
this.data = res.json();
this.loading = false;
});
}


调用makeRequest方法时,首先将loading设置为true,即显示加载,在回读回Response时(订阅此时的变化),再将loading显示为false。


#### 3.当请求返回时,使用返回结果中的数据更新this.data





{{data | json}}

 这里使用了json管道。 
###### 在最后会对管道进行拓展


用json方法提取响应体并解析成一个Object,然后将是这个Object赋值给this.data.


#### 构建一个控制器


![在这里插入图片描述](https://img-blog.csdnimg.cn/20200508093837694.png)  
 因为之前已经定义了data和loading两个实例变量,所以我们在这个ts中,新建一个同名类,



export class SimpleHTTPComponent
{
data:Object;
loading:boolean;
}
constructor(http: Http)
{
this.http = http;
}


### post请求的基本流程


继续借用刚刚的makeRequest的方法:



makePost(): void {
this.loading = true;
this.http.post(
‘http://jsonplaceholder.typicode.com/posts’,
JSON.stringify({
body: ‘bar’,
title: ‘foo’,
userId: 1
}))
.subscribe((res: Response) => {
this.data = res.json();
this.loading = false;
});
}


![在这里插入图片描述](https://img-blog.csdnimg.cn/20200508103637865.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQzMjc3NDA0,size_16,color_FFFFFF,t_70)  
 区域部分为post与get请求的异同,  
 JSON.stringify将Object转换为一个JSON字符串


### 其他请求 PUT/PATCH/DELETE/HEAD


方法调用类似get post


* delete为例子:



makeDelete(): void {
this.loading = true;
this.http.delete(‘http://jsonplaceholder.typicode.com/posts/1’)
.subscribe((res: Response) => {
this.data = res.json();
this.loading = false;
});
}


### 关于RequestOptions



makeHeaders(): void {
let headers: Headers = new Headers();
headers.append(‘X-API-TOKEN’, ‘ng-book’);
let opts: RequestOptions = new RequestOptions();
opts.headers = headers;
this.http.get(‘http://jsonplaceholder.typicode.com/posts/1’, opts)
.subscribe((res: Response) => {
this.data = res.json();
});
}



> 
> append()-在每个匹配元素里面的末尾处插入参数内容
> 
> 
> 


### 关于管道的拓展


### JavaScript

* js的基本类型有哪些?引用类型有哪些?null和undefined的区别。

* 如何判断一个变量是Array类型?如何判断一个变量是Number类型?(都不止一种)

* Object是引用类型嘛?引用类型和基本类型有什么区别?哪个是存在堆哪一个是存在栈上面的?

* JS常见的dom操作api

* 解释一下事件冒泡和事件捕获

* 事件委托(手写例子),事件冒泡和捕获,如何阻止冒泡?如何组织默认事件?

* 对闭包的理解?什么时候构成闭包?闭包的实现方法?闭包的优缺点?

* this有哪些使用场景?跟C,Java中的this有什么区别?如何改变this的值?

* call,apply,bind

* 显示原型和隐式原型,手绘原型链,原型链是什么?为什么要有原型链

* 创建对象的多种方式

* 实现继承的多种方式和优缺点

* new 一个对象具体做了什么

* 手写Ajax,XMLHttpRequest

* 变量提升

* 举例说明一个匿名函数的典型用例

* 指出JS的宿主对象和原生对象的区别,为什么扩展JS内置对象不是好的做法?有哪些内置对象和内置函数?

* attribute和property的区别

* document load和document DOMContentLoaded两个事件的区别

* JS代码调试  

* **[开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】](https://bbs.csdn.net/forums/4304bb5a486d4c3ab8389e65ecb71ac0)**

  ![](https://img-blog.csdnimg.cn/img_convert/a69e7b92af546ecaedf148f129bfef2b.png)



  • 18
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值