1 | var Communication = require('./communication')
|
2 | var communicate = new Communication()
|
3 |
|
4 | var requestQueue = function() {
|
5 | this.communicate = function(queue) {
|
6 | return new Promise(function(resolve, reject) {
|
7 | var promises = []
|
8 | var returnDocuments = {}
|
9 | for (const key in queue) {
|
10 | switch(queue[key].method) {
|
11 | case 'GET': promises.push(communicate.sendGETRequest(key, queue[key])); break
|
12 | case 'POST': promises.push(communicate.sendPOSTRequest(key, queue[key])); break
|
13 | default: throw new Error('method must be GET or POST ...')
|
14 | }
|
15 | }
|
16 | Promise.all(promises).then(documents => {
|
17 | documents.forEach(document => {
|
18 | returnDocuments[document.key] = document
|
19 | delete document.key
|
20 | })
|
21 | resolve(returnDocuments)
|
22 | }).catch(err => {reject(err)})
|
23 | })
|
24 | }
|
25 | }
|
26 |
|
27 | module.exports = requestQueue |
\ | No newline at end of file |