graphql - aws-amplify [ts] 类型“{}”上不存在属性“订阅”。[2339]
问题描述
我是aws amplify的新手。我已经使用 amplify 设置了一个应用程序,并且我有一个使用 GraphQl 返回记录的 API。我创建了一个订阅,应该在创建新博客条目时触发。正在创建条目。在文档https://aws-amplify.github.io/docs/js/api 中,代码示例表明我可以使用以下内容订阅突变。我不断收到一条错误消息,指出错误 TS2339:类型“{}”上不存在属性“订阅”。它来自客户的分配。我不确定它为什么这么说,我希望你能帮助我解决这个错误。
import { onCreateBlog } from './graphql/subscriptions';
//GraphQl订阅
export const onCreateBlog = `subscription OnCreateBlog {
onCreateBlog {
id
name
posts {
items {
id
title
}
nextToken
}
}
}
`;
//带有异步方法的ngInit函数
ngOnInit() {
(async () => {
let client = Amplify.configure(awsmobile); // error from here
let subscription = client.subscribe(graphqlOperation(subscriptions.onCreateBlog)).subscribe({
next: data => {
console.log(data);
},
error: error => {
console.warn(error);
}
});
})();
}
解决方案
推荐阅读
- java - 单击一次按钮后如何使一组新的 JTextFields 出现在新行上
- java - 如何将特定的 sql 命令设置到表中的选定列中
- javascript - 每个 ejs 渲染调用的“默认”参数?
- swift - 在 UIStackView 中以编程方式堆叠视图
- javascript - 手动修复 NPM 中的漏洞
- ios - 从以前的文本字段切换后,iOS 13 仅偶尔会建议使用强密码
- python - 熊猫组合不适用于数据框中的某些行
- ngrx - createAction ngrx 方法论
- pandas - 制作自定义移位函数以滞后于缺少观察的数据框
- node.js - 如何区分 Node.JS 中的两个 POST 请求?