File tree Expand file tree Collapse file tree 2 files changed +23
-35
lines changed Expand file tree Collapse file tree 2 files changed +23
-35
lines changed Original file line number Diff line number Diff line change @@ -866,29 +866,23 @@ example.js:
866
866
867
867
.. code-block :: js
868
868
869
- function join (r ) {
870
- join_subrequests (r, [' /foo' , ' /bar' ]);
871
- }
872
-
873
- function join_subrequests (r , subs ) {
874
- var parts = [];
869
+ async function join (r ) {
870
+ join_subrequests (r, [' /foo' , ' /bar' ]);
871
+ }
875
872
876
- function done (reply ) {
877
- parts .push ({ uri: reply .uri ,
878
- code: reply .status ,
879
- body: reply .responseBody });
873
+ async function join_subrequests (r , subs ) {
874
+ let results = await Promise .all (subs .map (uri => r .subrequest (uri)));
880
875
881
- if (parts .length == subs .length ) {
882
- r .return (200 , JSON .stringify (parts));
883
- }
884
- }
876
+ let response = results .map (reply => ({
877
+ uri: reply .uri ,
878
+ code: reply .status ,
879
+ body: reply .responseBody ,
880
+ }));
885
881
886
- for (var i in subs) {
887
- r .subrequest (subs[i], done);
888
- }
889
- }
882
+ r .return (200 , JSON .stringify (response));
883
+ }
890
884
891
- export default {join}
885
+ export default {join};
892
886
893
887
Checking:
894
888
Original file line number Diff line number Diff line change 1
- function join ( r ) {
1
+ async function join ( r ) {
2
2
join_subrequests ( r , [ '/foo' , '/bar' ] ) ;
3
3
}
4
4
5
- function join_subrequests ( r , subs ) {
6
- var parts = [ ] ;
5
+ async function join_subrequests ( r , subs ) {
6
+ let results = await Promise . all ( subs . map ( uri => r . subrequest ( uri ) ) ) ;
7
7
8
- function done ( reply ) {
9
- parts . push ( { uri : reply . uri ,
10
- code : reply . status ,
11
- body : reply . responseBody } ) ;
8
+ let response = results . map ( reply => ( {
9
+ uri : reply . uri ,
10
+ code : reply . status ,
11
+ body : reply . responseBody ,
12
+ } ) ) ;
12
13
13
- if ( parts . length == subs . length ) {
14
- r . return ( 200 , JSON . stringify ( parts ) ) ;
15
- }
16
- }
17
-
18
- for ( var i in subs ) {
19
- r . subrequest ( subs [ i ] , done ) ;
20
- }
14
+ r . return ( 200 , JSON . stringify ( response ) ) ;
21
15
}
22
16
23
- export default { join}
17
+ export default { join} ;
You can’t perform that action at this time.
0 commit comments