主要用法目前用的多的就三种;
thunk.all 并发
thunk.sql 同步
thunk.race 最先返回的进入结果输出
前两个返回的结果都是数组,最后一个返回的是对象;
thunk的链式调用没有搞懂,不过自己通过转配得到了一种方法
运用情景就是连续查询n多个结果,
第一次查询的结果,第二次会用到,第二次得到的结果,第三次会用到,这样的场景需要这样写;
1 thunk(function(cb){
2 setTimeout(function(){
3 cb(null,1000)
4 },1000)
5 })(function(err,result){
6 return thunk(function(cb){
7 setTimeout(function(){
8 alert(11)
9 cb(null,result+2000)
10 },result)
11
12
13 })
14 })(function(err,result){
15 return thunk(function(cb){
16 setTimeout(function(){
17 alert(11)
18 cb(null,result+2000)
19 },result)
20
21
22 })
23 })(function(err,result){
24 return thunk(function(cb){
25 setTimeout(function(){
26 alert(11)
27 cb(null,result+2000)
28 },result)
29
30
31 })
32 })(function(err,result){
33 return thunk(function(cb){
34 setTimeout(function(){
35 alert(11)
36 cb(null,result+2000)
37 },result)
38
39
40 })
41 })(function(err,result){
42 console.log(result);
43 })
慢慢体会,
不懂之处就是thunk的原生的链式调用在哪里有;怎么写;