TypeScript
文章平均质量分 69
晚时之秋
好看的皮囊千篇一律,有趣的灵魂万里挑一
展开
-
大文件上传如何做断点续传?
每一个部分采用一个线程进行上传或下载,如果碰到网络故障,可以从已经上传或下载的部分开始继续上传下载未完成的部分,而没有必要从头开始上传下载。如果中途上传中断过,下次上传的时候根据当前临时文件大小,作为在客户端读取文件的偏移量,从此位置继续读取文件数据块,上传到服务器从此偏移量继续写入文件即可。分片上传,就是将所要上传的文件,按照一定的大小,将整个文件分隔成多个数据块(Part)来进行分片上传。上传过程中将文件在服务器写为临时文件,等全部写完了(文件上传完),将此临时文件重命名为正式文件即可。原创 2023-02-01 14:54:43 · 209 阅读 · 0 评论 -
原生js如何实现上拉加载下拉刷新?
开源社区也有很多优秀的解决方案,如iscroll、better-scroll、pulltorefresh.js库等等。我们通过原生的方式实现一次上拉加载,下拉刷新,有助于对第三方库有更好的理解与使用。下拉刷新的本质是页面本身置于顶部时,用户下拉时需要触发的动作。最重要的是要理解在什么场景,什么时机下触发交互动作。本质上等同于PC网页中的分页,只是交互形式不同。上拉加载的本质是页面触底,或者快要触底时的动作。监听touchstart事件,记录初始的值。最后,就是监听touchend离开的事件。原创 2023-02-01 14:43:20 · 170 阅读 · 0 评论 -
Typescript泛型
上例中,我们在函数名后添加了 ,其中 T 用来指代任意输入的类型,在后面的输入 value: T 和输出 Array 中即可使用了。泛型(Generics)是指在定义函数、接口或类的时候,不预先指定具体的类型,而在使用的时候再指定类型的一种特性。但是我们预期的是,数组中每一项都应该是输入的 value 的类型。上例中,因为泛型 T 不一定包含属性 length,所以编译的时候报错了,是一个错误的例子。上例中,我们使用了之前提到过的数组泛型来定义返回值的类型。使用泛型接口的时候,需要定义泛型的类型。原创 2022-12-17 11:55:35 · 407 阅读 · 0 评论 -
TypeScript 接口
接口是一系列抽象方法的声明,是一些方法特征的集合,这些方法都应该是抽象的,需要由具体的类去实现,然后第三方就可以通过这组抽象方法调用,让具体的类执行具体的方法。以下实例中,我们定义了一个接口 IPerson,接着定义了一个变量 customer,它的类型是 IPerson。接口中我们可以将数组的索引值和元素设置为不同类型,索引值可以是数字或字符串。customer 实现了接口 IPerson 的属性和方法。接口继承就是说接口可以通过其他接口来扩展自己。Typescript 允许接口继承多个接口。原创 2022-12-17 10:19:18 · 121 阅读 · 0 评论 -
TypeScript 基础类型
Null 和 Undefined 是其他任何类型(包括 void)的子类型,可以赋值给其它类型,如数字类型,此时,赋值后的类型会变成 null 或 undefined。never 是其它类型(包括 null 和 undefined)的子类型,代表从不会出现的值。never(never):never 是其它类型(包括 null 和 undefined)的子类型,代表从不会出现的值。元组([]):元组类型用来表示已知元素数量和类型的数组,各元素的类型不必相同,对应位置的类型需要相同。它可以用来表示整数和分数。原创 2022-12-17 10:09:11 · 103 阅读 · 0 评论