免责声明:我知道,Parse.com关闭了它的托管服务。不过,我们将继续使用该框架一段时间,因此这个问题对我们来说仍然很重要。
最近,我开始使用TypeScript,并认为它可能会提高我解析云代码的效率。所以我做了一些测试,并成功地使用typescript来编写云函数等等。我甚至通过打字包括了解析的输入定义。
但是,我仍然没有得到一件事:我如何以类型安全的方式扩展Parse.Object?
在普通的js中我会写:
var Foo = Parse.Object.extend("Foo", {
// instance methods
}, {
// static members
});
为了获得类型安全,我想在typescript中写这样的东西:
class Foo extends Parse.Object {
// static members
// instance methods
}
这样的事情可能吗?我错过了什么吗?
答案 0 :(得分:4)
是的,这是可能的。这需要几个步骤。首先,您需要将类名传递给父构造函数
class Foo extends Parse.Object {
// static members
// instance methods
constructor() {
// Pass the ClassName to the Parse.Object constructor
super('Foo');
}
}
此外,您需要将您的类注册为Parse对象:
Parse.Object.registerSubclass('Foo', Foo);
在此之后,您可以将它用作查询:
var query = new Parse.Query(Foo);
query.find({
success: obj: Foo[] => {
// handle success case
},
error: error => {
// handle error
}
});
这也适用于新的解析服务器开源项目:https://github.com/ParsePlatform/parse-server