我想在我的班級中創建一個方法。這個方法應該連接到一個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
在此先感謝。