Parse.com with TypeScript:Extend Parse.Object

时间:2016-06-05 17:37:54

标签: javascript parse-platform typescript

免责声明:我知道,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
}

这样的事情可能吗?我错过了什么吗?

1 个答案:

答案 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