【问题标题】:Can not promisifyAll Redis api with Bluebird in Typescript无法在 Typescript 中使用 Bluebird 对所有 Redis api 进行 promisifyAll Redis api
【发布时间】:2016-09-03 17:01:43
【问题描述】:

我无法让 Redis api 在 typescript 中使用 promisifyAll。

import * as redis from 'redis';
import {RedisClient} from 'redis';
import * as Promise  from 'bluebird';

Promise.promisifyAll(redis);
const client: RedisClient = redis.createClient(CacheConfig);

我收到以下打字稿错误。

【问题讨论】:

    标签: node.js typescript redis promise bluebird


    【解决方案1】:

    得到以下 (tslint) 错误。

    TypeScript 的(静态)类型系统不太支持在运行时改变对象的东西。 PromisifyAll 神奇地插入了新功能,但这些新的神奇功能不会成为现有接口的一部分(在本例中为 RedisClient)。您需要手动扩展RedisClient 接口。

    PS: 不是tslint 错误。这是一个typescript 错误。

    【讨论】:

    • 谢谢@Basarat。给我一个示例,让我自己扩展RedisClient 接口。
    猜你喜欢
    • 2020-06-23
    • 2017-08-23
    • 1970-01-01
    • 1970-01-01
    • 2015-01-29
    • 1970-01-01
    • 1970-01-01
    • 2015-12-03
    • 1970-01-01
    相关资源
    最近更新 更多