Promise 的打字稿类型
Typescript type for Promise
如何在没有我目前使用的 Promise: any
的情况下键入以下代码?
export const up = function(knex: knex, Promise: any): Promise<knex> {
return Promise.all([
knex.schema.createTable(
'counters',
(table: knex.TableBuilder): void => {
table.increments('id').primary();
table.integer('count');
}
),
]);
};
我试过 PromiseConstructor
,但返回 Promise<knex>
时出现错误。似乎找不到任何关于输入 knex.js
迁移的文档。
为什么 return 类型应该是 Promise<knex>
?
knex.schema.createTable
returns 扩展 ChainableInterface
的 SchemaBuilder
,最终扩展 Bluebird<any>
,所以 return 类型是 Promise<any[]>
.
如何在没有我目前使用的 Promise: any
的情况下键入以下代码?
export const up = function(knex: knex, Promise: any): Promise<knex> {
return Promise.all([
knex.schema.createTable(
'counters',
(table: knex.TableBuilder): void => {
table.increments('id').primary();
table.integer('count');
}
),
]);
};
我试过 PromiseConstructor
,但返回 Promise<knex>
时出现错误。似乎找不到任何关于输入 knex.js
迁移的文档。
为什么 return 类型应该是 Promise<knex>
?
knex.schema.createTable
returns 扩展 ChainableInterface
的 SchemaBuilder
,最终扩展 Bluebird<any>
,所以 return 类型是 Promise<any[]>
.