Использование Bluebird приводит к ошибке компиляции в машинописи - PullRequest
0 голосов
/ 27 июня 2018

Я получаю ошибку

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 голосов
/ 27 июня 2018

Это не проблема в более новых версиях машинописного текста, где общий параметр new Promise будет определяться ожидаемым типом возвращаемого значения. В 2.3, однако, вы должны явно указать универсальный параметр для Promise:

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