我想在我的班级中创建一个方法。这个方法应该连接到一个MySQL数据库。我创建了我的SQL代码。而现在我不想回调,因为这是旧的,我想开始使用承诺。如何将打字稿回调转换为承诺
我与回调(老同学)功能:
public does_player_exist(username: string, callback: any) {
this.mysql.connect();
this.mysql.query('USE devdb');
this.mysql.query('SELECT p_name FROM players WHERE p_name = "'+username+'"', (err: Error, result: any[]) {
if (result.length === 1) {
callback(true)
} else {
callback(false);
}
});
}
这里如下我试图作出承诺的方法,但我失败了:
public does_player_exist(username: string): Promise<boolean> {
this.mysql.connect();
this.mysql.query('USE devdb');
return this.mysql.query('SELECT p_name FROM players WHERE p_name = "'+username+'").toPromise().then((result) => {
return result.length === 1;
})
}
当我把这个方法:
service.does_player_exist('test').then((result) => { console.log(result) })
我希望有人能帮助我。因为我真的不想永远老派xD
在此先感谢。