拿起Typescript做一个轮子(二)

编写基础请求代码

我们现在开始编写源码,我们的目标是实现简单的发送请求功能,即客户端通过XMLHttpRequest对象把请求发送到Server端,Server端能收到请求并响应即可。

我们实现axios最基本的操作,通过传入一个对象发送请求,如下:

拿起Typescript做一个轮子(二)_第1张图片

创建入口文件

先把初始化src下的文件删除掉,然后创建个index.ts文件,作为整个库的入口文件,然后先定义个axios方法并导出,如下:

拿起Typescript做一个轮子(二)_第2张图片

然后给axios方法定义个接受参数config,并且我们新建个types文件夹在该文件夹下新建个index.ts文件作为我们之后公共类型定义文件,然后给config定义个接口类型:

这里我们希望method只传入合法的字符串,再定义个字符串字面量

拿起Typescript做一个轮子(二)_第3张图片

然后我们在src下新建个xhr.ts文件,在这个文件下实现我们所有的请求逻辑

先实现基本的请求逻辑,后续再慢慢完善,函数同样接受一个config参数

拿起Typescript做一个轮子(二)_第4张图片

然后引入该方法并使用

拿起Typescript做一个轮子(二)_第5张图片

目前为止我们axios的基本请求逻辑都已经实现了,让我们来写个demo测试下

后端服务是用node简单起的一个服务,后续demo用到的接口都在这产出

拿起Typescript做一个轮子(二)_第6张图片

拿起Typescript做一个轮子(二)_第7张图片拿起Typescript做一个轮子(二)_第8张图片

可以看到我们成功发送了请求,并且服务端也接受并响应了,那我们这章的目标都实现了,下章会对请求的数据进行处理

你可能感兴趣的:(拿起Typescript做一个轮子(二))