【发布时间】:2018-05-28 02:04:40
【问题描述】:
我正在使用允许我将数据同步到本地数据库的 API。我递归调用了一个syncReady API,直到同步批处理准备好开始发送数据。递归工作正常并调用了 .then 回调,但 resolve 函数从不解析响应。
const request = require('request-promise');
const config = require('../Configs/config.json');
function Sync(){}
Sync.prototype.syncReady = function (token, batchID) {
return new Promise((res, rej) => {
config.headers.Get.authorization = `bearer ${token}`;
config.properties.SyncPrep.id = batchID;
request({url: config.url.SyncReady, method: config.Method.Get, headers: config.headers.Get, qs: config.properties.SyncPrep})
.then((response) => {
console.log(`The Response: ${response}`);
res(response);
}, (error) => {
console.log(error.statusCode);
if(error.statusCode === 497){
this.syncReady(token, batchID);
} else rej(error);
}
);
});
};
我记录了 497 和“响应:{“pagesTotal”;0}”响应,但 res(response) 从未将响应发送到链中。我已经在整个链中添加了一条 console.log 消息,并且没有任何 .then 函数返回到链中。
我希望我已经解释得足够好:-)。任何想法为什么承诺没有解决?
谢谢!
【问题讨论】:
标签: javascript node.js recursion promise