如何最好地在不使用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
迁移的任何文档。
答案 0 :(得分:2)
为什么返回类型为Promise<knex>
?
knex.schema.createTable
返回一个SchemaBuilder
,它扩展了ChainableInterface
,并最终扩展了Bluebird<any>
,因此返回类型为Promise<any[]>
。