使用Bluebird会在打字稿中引发编译错误

时间:2018-06-27 08:04:40

标签: node.js typescript promise bluebird

我遇到错误

Bluebird<{}>' is not assignable to type 'Bluebird<boolean>

编译以下代码时

import * as Promise from 'bluebird'

function getPromise() : Promise<boolean> {
    return new Promise((resolve, reject) => {
        resolve(true);
    })
}

let p : Promise<boolean> = getPromise();
p.then(a => console.log("Done"));

Bluebird版本-3.5.1

节点版本-6.10.3

打字稿版本-2.3.1

1 个答案:

答案 0 :(得分:1)

这在较新版本的Typescript中不是问题,其中new Promise的通用参数将由预期的返回类型来推断。但是,在2.3中,您必须为Promise明确指定通用参数:

function getPromise() : Promise<boolean> {
    return new Promise<boolean>((resolve, reject) => {
        resolve(true);
    })
}