00:00
大家好,我是学习园地的特约讲师高国峰,上节课呢,咱们在生产环境下使用了一下arch,并且呢,用到了它的另外一种形式动词的这样的方式,Get方式,POS方式,其中呢,呃,Get方式用的最多的就是使用这种方式直接在后边存餐,而post方式用的最多的是这样拼接字符串的方式,那有的说了,那po的方式有没有其他的一种方式呢?比如说阶层的方式,在这块类似于这样的方式有,但是比较麻烦,你还得设置头,那设置投完之后呢,那接层的格式呢,我们还得用阶层字符串,再把它转回这种拼接字符串的一个方式,用接层那个串线化给转回来,所以比较麻烦,不常用,那常用的方式呢,就是get的方式,咱们用这种方式,POS用这种,那咱们知道这种就可以了。那这节课呢,咱们接着往下学看一下,呃阿呢给我们提供了并发请求,它的并发请求呢,其实就类似于promise里边all的方法,是一个道理,那就是同时可以一次性请求多个接口,然后呢,数据合并我们一起处理,是这样的一个原理。
01:00
那比如说我们网站的一个首页,有可能请求几十个接口,然后把数据汇总,然后一起用ae摆放到页面上是可以的。那我们这里边就来,呃,使用一下。比如说这里边我们使用X a iOS里边用它的里边的点方法。把所有的请求都放在这里边,那里边肯定是一个数组,每个数组是单独的一个请求,对吧,然后我们点赞。在这里边res就是把处理的所有的结果放到了数里边,然后数组里边,我们再往下去查找里边的每一个数据就可以了。那这里边我们先获取多请求,当然了,这里边还可以有catch,跟promise用法是一样的啊,压错误处理。咱们就进函数,然后这里边我们打印点log,打印这错误信息,当然这个错误信息跟本身的错误信息有可能会混,那我们这块再输出一个。漏串吧,我们用字符串,比如说一行线,我们来一个e or,然后在一行线,然后我打一下,这样的话能让你看得出来有后果,那这里边呢,我们处理多个请求,res.ROOG,我们也是打印下,那在这个中括号里边,我们就可以发送多个请求,比如说我们使用X of里边的动词get去请求,对吧,请求什么呢?那我们这块直接请求一个ulttp冒号,比如说API,呃,使用。
02:25
嗯,api.edu work.c下边的ID下边的link获取这个数据,当然了,我也可以存参数,在后边直接存参数括号ID等于一获取这个数据对吧?当然这数组里边不能用分号去结尾,如果有多个的话,你应该用什么,你应该用逗号去分开,在这块我们比如说获取的是呃,七,不知道有没有这个啊。嗯,比如说我再来一个点get,我们获取我们自己临时的API,对吧,但是咱们也处理话域了,对不对,那我们在这里边再写一个,你可以处处理两个,三个,30个都是可以的,HTTP冒号,Local host RO CL local host下边的呃是a iOS DEMO这个目录下的里边的get a pi.pp当然我们也传一个参数,ID等于七。
03:13
对吧,等于十万一百无所谓了啊,这样的话我们运行一下,看一下我们能不能获取这个数据,当然我们在运行之前,我们用的是wipad,我们必须得打包一下,我们才可以使用领带,然后访问。嗯。诶,这里出来你出来浏览器,那么还用这个浏览器吧,刷新一下,你看它给我变成了数组对吧,每个数据呢,都在数组里面看到吧,都在数组里边,这里边有date是这个数据对吧?那我们也可以分开打印这几个数据,比如说它既然这个是一个数组对不对,我们看到是一个数组,那我们就可以数组里边的零是对应打印第一个。然后数组里边的123个,那我们围绕数据能看得清楚一些,我们在用colo把它分开,我们在里边一行线。
04:01
分开一下,第一个数据复制一下,第二个数据复制一下,分开保存一下,然后我们重新打包运行好,你最后再看一下结果分析一下,你看增加了三个数据对不对,最后一个数据ID等于100,就都获取到了三个接口。其实我们并行处理呢,就自动处理就可以了,当然咱们还有catchche,我们用一下,比如说我这个link,我返问一个LINK2对吧,没有这个接口,没有这个接口呢,它就会请求超时,请求超时呢就会报错,有错误呢,肯定就会到这个catchche里边来,那我们再访问一下,你看一下有问题了,你看访问到这个了对不对,下边是大的错误消息。我们开始的会就这样去接受。来,我们把这个再改回来,那还有一种方法可以用,现在这不是在数组里边吗。我把整体,嗯,整体的都复制一下。啊,我们还有一种方法可以解决这个问题,也就是他现在在数组里面,如果还想单个的去接收每一个在这里边,因为也是一次性处理,能不能单个去接收呢?可以,那你就得这里边有几个请求,那我们这里边我们可以把这个参数,把一个接收参数,能把它换掉一个接收参数换成什么呢?换成一个X里边给我们提供一个。
05:16
啊,这个方法,这个方法里边呢,我们需要一个回调方法。回调方法,那回调方法里边呢,参数就跟我们上边的参数是对应的,比如说RES1 res2 re3。对应的,这样的话,就把我们三个对应的请求的结果付给我们这三个参数,然后这个参数呢,是一个回调方法,我们用镜头函数在这里边我们就可以打印这三个回调方法了,那这三个不是这一个回调方法,这三个参数分别接收三个值,那么I一点log log I2点log接受。Re res3点。有点忘了。来,我们再打包运行一下,你看一下一样可以接收到的,但是这样处理的很少,因为我们好不容易把它都合并了,我们就用合并的数用就可以了,对不对,干嘛还非得给它拆开呢,对吧。
06:09
你要拆开的话,一个一个处理,没什么太大的区别。来我们运行一下,你看给我们打印的也是三个数,你也可以打开分隔符去看一下啊,你看三个数字给我们分别打印的,这就是我们说的什么。并发处理其实就跟promise的一个奥方法是一个道理啊。那为什么使用这个,就是因为呃阿,他是贾克斯嘛,对不对,那请求过多,页面对不对,性能可能会有影响,以及代码不美观。代码过于臃肿,所以呢可以使用它的并发处理来解决这个问题,当然二方法在它的构造函数是没有的,所以用它的构造方法上面是做不了的,就用咱们这种动词的方式是可以使用的,好,谢谢大家,这节课我们就讲到这里。
我来说两句