node.js - 使用 Bluebird 在 typescript 中引发编译错误
问题描述
我收到一个错误
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"));
蓝鸟版本 - 3.5.1
节点版本 - 6.10.3
打字稿版本 - 2.3.1
解决方案
这在较新版本的打字稿中不是问题,其中的泛型参数new Promise
将由预期的返回类型推断。但是,在 2.3 中,您必须将泛型参数显式指定为Promise
:
function getPromise() : Promise<boolean> {
return new Promise<boolean>((resolve, reject) => {
resolve(true);
})
}
推荐阅读
- powershell - Powershell 日期时间过滤器未使用正确的 ShortDate 模式
- php - Todolist 与 mysql php
- django - Django Viewflow - 如何为多个任务应用相同的转换
- javascript - isEmpty() 在使用 JavaScript 的量角器中不起作用
- ethereum - 以太坊/Solidity:我们是否需要在合约中实现自己的“余额”变量?
- reactjs - React 找不到模块
- sqlite - 使用 Lua 打开内存中现有的 SQLite 数据库
- amp-html - Amp 分析 encodeURIComponent 用于跟踪像素
- php - NodeJS 如何对 Buffer 进行哈希处理?
- android - 测试包含 CompositeDisposable 的演示者