0
我使用MongoDB的驅動程序連接蒙戈:打字稿從回調返回到功能
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;
我不能改變singnature,我怎麼能返回值從回調函數? 除了一次回調之外,還有什麼辦法嗎?或者打字稿提供相同的回調地獄解決方案?
如果你不能在JS做的事情,你不能做同樣的事情在TS的例子。也許你應該在承諾中封裝'toArray'。 – Paleo