打字稿和解决承诺而不使用 <any>

Typescript and resolving promises without the use <any>

如何使 resolve(existingVote) 在没有 的情况下进行编译。如果我删除 我得到 Argument of type 'Object' is not assignable to parameter of type 'Thenable in the compiler error window。看来我可能还不明白如何为解析 return.

创建 Thennable
    getExistingVote(): Promise<Parse.Object> {

        return new Promise<Parse.Object>((resolve, reject) => {

            var query = this.getQuery();
            query.first().then(
                (existingVote) => {
                    resolve(<any>existingVote);
                }, (existingVoteError) => {
                    reject(existingVoteError);
                });
        });
    }

这取决于 推断的 类型 existingVote。它应该是类型:Parse.Object 如果不是,那么您需要使用类型断言。

更新 基于

您对 resolve 的定义是错误的,因为它只取 Thenable<Object>。应该是 Object | Thenable<Object> 类似于 https://github.com/TypeStrong/atom-typescript/blob/master/lib/typings/atompromise.d.ts#L82