【问题标题】:Why is typescript unable to find a property in the object?为什么打字稿无法在对象中找到属性?
【发布时间】:2022-11-17 17:19:34
【问题描述】:

我在我的项目中使用打字稿。我正在实施条带订阅。

这是我的代码:

let subscription = event.data.object;
console.log("user subscription:  " + JSON.stringify(subscription));

subscriptions 显示类型 Stripe.Event.Data.Object

这是控制台结果:

user subscription:{ ........... , expires_at:"16244565", .........}

现在我尝试从subscription 中提取expires_at 的值。

这是代码:

let subscription = event.data.object;
console.log("user subscription:  " + JSON.stringify(subscription)); 
console.log("due date:  " + subscription.expires_at);

现在我看到.expires_at 下方出现了一条弯曲的红线,上面写着Property 'expires_at' does not exist on type 'Object'。但是当我控制台 subscription 时,我可以看到一个字段 expires_at

请指导我如何解决这个问题。

【问题讨论】:

    标签: node.js typescript


    【解决方案1】:

    首先,如果您使用的是 TypeScript,则应该为您的值创建类型。我认为它们可以在 Stripe API 文档 https://stripe.com/docs/api/subscriptions 中找到。

    type SubscriptionResponseParams = {
    ...
    expires_at: string;
    }
    
    let subscription: SubscriptionParams = ...
    

    它可能会产生另一个错误,如果是这样,您必须将该事件映射到您的订阅响应。

    【讨论】:

      猜你喜欢
      • 2022-01-05
      • 1970-01-01
      • 2017-08-28
      • 2020-01-10
      • 2018-12-31
      • 1970-01-01
      • 2016-05-24
      • 2016-08-30
      • 2022-12-14
      相关资源
      最近更新 更多