【问题标题】:Typescript and resolving promises without the use <any>不使用 <any> 的打字稿和解决承诺
【发布时间】:2015-02-05 07:24:26
【问题描述】:

我怎样才能使 resolve(existingVote) 在没有 的情况下进行编译。如果我删除 我得到 'Object' 类型的参数不可分配给编译器错误窗口中的'Thenable 类型的参数。看来我可能还不明白如何为解析返回创建一个 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);
                });
        });
    }

【问题讨论】:

    标签: javascript typescript promise bluebird


    【解决方案1】:

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

    更新 基于

    您对resolve 的定义是错误的,因为它只使用了Thenable&lt;Object&gt;。真的应该是Object | Thenable&lt;Object&gt;类似于https://github.com/TypeStrong/atom-typescript/blob/master/lib/typings/atompromise.d.ts#L82

    【讨论】:

    猜你喜欢
    • 2019-10-15
    • 2017-06-02
    • 1970-01-01
    • 2018-12-19
    • 2018-01-21
    • 1970-01-01
    • 2019-08-24
    • 1970-01-01
    • 2018-02-04
    相关资源
    最近更新 更多