这感觉就像一个普遍的问题,但我发现它已经被问到了。 下面函数返回值的Typescript签名应该是什么?
在实践中,正确的问题可能是我确实需要输入文件,因为我看到的所有内容似乎都在定义mongo命令的回调版本?
到目前为止,我已经安装了tsd
节点,mongodb和bluebird。
function countCountries(db) : *?????* {
let register = db.collection(REGISTER);
let countries = [an aggregate]
return countries.toArray()
.then( results => {
return db.collection(SUMMARY)
.replaceOne( {_id: COUNTRIES},
{_id: COUNTRIES, 'data': results},
{upsert: true} );
} );
}
我在我的代码中更常使用Bluebird,包括Promise.promisify(mongoClient.connect);
,但这里的Typescript推断了Promise<{}>
的类型,而promise实际上返回了数据库连接。