首页 > 解决方案 > 如何在没有使用 KlaviyoClient 的 Http Get 的情况下从响应 API 获取状态码?

问题描述

我正在使用第三方 API,并希望从中获取状态代码响应。它不使用通常的 http.get(request, header) 格式。

我们如何从中获取状态码?这是我引用的链接

// Get the timeline for all events on a profile.
KlaviyoClient.profiles.getProfileMetricsTimeline({
    profileId: 'myProfileId',
    since: 1606262400,
    count: 50,
    sort: 'asc'
});

我正在使用打字稿,我试图做

const response = await KlaviyoClient.profiles.getProfileMetricsTimeline({
    profileId: 'myProfileId',
    since: 1606262400,
    count: 50,
    sort: 'asc'
});

但这不会返回状态码。我们需要做什么?谢谢!

标签: javascripttypescripthttphttp-status-codes

解决方案


KlaviyoClient抽象了成功和错误响应的处理。

statusCode仅适用于Error通过客户端库从请求中抛出的对象。

这些错误可以按如下方式处理

let response;
try {
   response = await KlaviyoClient.profiles.getProfileMetricsTimeline({
    profileId: 'myProfileId',
    since: 1606262400,
    count: 50,
    sort: 'asc'
   });
} catch (e) {
   console.error(e.statusCode);
}

推荐阅读