【发布时间】:2015-06-13 02:13:56
【问题描述】:
我正在使用mongodb驱动连接mongo:
public listUsers(filterSurname?:string):any {
if (this.connected) {
debug.log(this.db);
var results;
this.db.collection('userProfiles').find({}).toArray((err:Error, res:any[])=> {
if (err) return 'getting results error'
else {
results=res;
results = res;
}
return res;
});
}
debug.log('sending results' + results);
if (results !== null) {
return results;
}
else return 'connection error';
return 'db unknown error'
}
数组的函数有下一个签名:
toArray(callback: (err: Error, results: any[]) => any) : void;
我无法更改签名,如何将值从回调返回给函数? 除了多一个回调,还有什么办法吗?还是 typescript 提供相同的回调地狱解决方案?
【问题讨论】:
-
如果在 JS 中不能做某事,在 TS 中也不能做同样的事情。也许您应该将
toArray封装在一个承诺中。
标签: mongodb typescript