Node,如您所见,我试图在响应失败时调用相同的url。我在这里做了什么错事
import * as request from 'request';
var url = 'https://www.abcxyz.com';
export class ServiceClass {
public getRequest(): any {
request.get(url, null, (error: any, meta: any, response: any) => {
console.log("1111", response);
})
}
}
import { ServiceClass } from './GithubApiService';
import { backOff } from "exponential-backoff";
const service = new ServiceClass();
async function test() {
const response = await backOff(() => service.getRequest(),
{ numOfAttempts: 3, maxDelay: 2000, retry: (e: any, attemptNumber: 1) => true })
};
test();发布于 2021-06-23 12:31:58
基于https://www.npmjs.com/package/exponential-backoff文档,您的getRequest没有返回允诺值,因此应该这样做:
export class ServiceClass {
public getRequest(): any {
return new Promise((resolve, reject) => {
request.get(url, null, (error: any, meta: any, response: any) => {
if (error) return reject(error);
resolve(response);
});
})
}
}https://stackoverflow.com/questions/68099814
复制相似问题