|
1 | | -const request = require('request-promise-native'); |
2 | | -const url = require('url'); |
3 | 1 | const async = require('async'); |
4 | 2 | const crypto = require('crypto'); |
5 | 3 |
|
@@ -36,9 +34,10 @@ class base { |
36 | 34 | data.private_token = this.token; |
37 | 35 |
|
38 | 36 | return new Promise((resolve, reject) => { |
39 | | - request.post(`${this.url}${path}`, { |
| 37 | + fetch(`${this.url}${path}`, { |
| 38 | + method: 'POST', |
40 | 39 | json: true, |
41 | | - body: data, |
| 40 | + body: JSON.stringify(data), |
42 | 41 | insecure: this._insecure, |
43 | 42 | proxy: this._proxy, |
44 | 43 | resolveWithFullResponse: true, |
@@ -67,7 +66,7 @@ class base { |
67 | 66 | path += `&page=${page}&per_page=${perPage}`; |
68 | 67 |
|
69 | 68 | return new Promise((resolve, reject) => { |
70 | | - request(`${this.url}${path}`, { |
| 69 | + fetch(`${this.url}${path}`, { |
71 | 70 | json: true, |
72 | 71 | insecure: this._insecure, |
73 | 72 | proxy: this._proxy, |
@@ -95,15 +94,17 @@ class base { |
95 | 94 | let collect = []; |
96 | 95 |
|
97 | 96 | this.get(path, 1, perPage).then(response => { |
98 | | - response.body.forEach(item => collect.push(item)); |
99 | | - let pages = parseInt(response.headers['x-total-pages']); |
100 | | - |
101 | | - if (pages === 1) return resolve(collect); |
102 | | - |
103 | | - let tasks = base.createGetTasks(path, pages, 2, perPage); |
104 | | - this.getParallel(tasks, collect, runners).then(() => { |
105 | | - resolve(collect); |
106 | | - }).catch(error => reject(error)); |
| 97 | + response.json().then(data => { |
| 98 | + data.forEach(item => collect.push(item)); |
| 99 | + let pages = parseInt(response.headers['x-total-pages']); |
| 100 | + |
| 101 | + if (pages === 1) return resolve(collect); |
| 102 | + |
| 103 | + let tasks = base.createGetTasks(path, pages, 2, perPage); |
| 104 | + this.getParallel(tasks, collect, runners).then(() => { |
| 105 | + resolve(collect); |
| 106 | + }).catch(error => reject(error)); |
| 107 | + }) |
107 | 108 | }).catch(err => reject(err)); |
108 | 109 | }); |
109 | 110 | } |
@@ -134,8 +135,10 @@ class base { |
134 | 135 | */ |
135 | 136 | getParallel(tasks, collect = [], runners = this._parallel) { |
136 | 137 | return this.parallel(tasks, (task, done) => { |
137 | | - this.get(task.path, task.page, task.perPage).then((response) => { |
138 | | - response.body.forEach(item => collect.push(item)); |
| 138 | + this.get(task.path, task.page, task.perPage) |
| 139 | + .then(response => response.json()) |
| 140 | + .then(items => { |
| 141 | + items.forEach(item => collect.push(item)); |
139 | 142 | done(); |
140 | 143 | }).catch(error => done(error)); |
141 | 144 | }, runners); |
|
0 commit comments