gpt4 book ai didi

angular - 类型 'subscribe' 上不存在属性 'Promise | Observable'
转载 作者:行者123 更新时间:2023-12-05 07:29:45 25 4
gpt4 key购买 nike

在 Ionic 应用程序中,我们正在集成 AWS-Amplify,我们可以插入和获取数据。但是在实现订阅时,我们收到编译器错误提示

类型“Promise | 上不存在属性“subscribe”可观察的'。 类型“Promise”上不存在属性“订阅”。

在 Subscription.ts 中

export const onCreateEmployee = `subscription OnCreateEmployee(
$employee_id: Int
$employee_name: String
) {
onCreateEmployee(
employee_id: $employee_id
employee_name: $employee_name
) {
employee_id
employee_name
}
}

在 Main.ts 中

const subscription = API.graphql(
graphqlOperation(onCreateEmployee)
).subscribe((eventData) => { console.log(eventData)
});

在 main.ts 中,显示 cannot subscribe 之类的错误.....(见上面的错误)。

有人知道怎么解决吗?

谢谢

最佳答案

API.graphql() 的结果可以是 Promise(当您查询数据以立即返回时),也可以是 Observable对于订阅,您需要告诉 TypeScript 期望什么:

(API.graphql(
graphqlOperation(onCreateEmployee)
) as unknown as Observable<YourEventDataType>)
.subscribe(
(eventData) => { console.log(eventData) }
);

关于angular - 类型 'subscribe' 上不存在属性 'Promise<GraphQLResult> | Observable<object>',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52644087/

25 4 0