カテゴリー
TypescriptのInterfaceでasync関数を定義する・async関数でクラス変数(this)を使う
※ 当ページには【広告/PR】を含む場合があります。
2022/05/13
2022/10/03
TypescriptのInterfaceに非同期関数を定義する
interface IHoge {
name: string;
id: number;
getUserInfo(): Promise<any>
}
async
Promise<T>
async
クラス内asyncメソッドからメンバー変数をthisを使って呼び出す
this
通常関数(function)
アロー関数
this.name
this.id
class HogeUser implements IHoge {
name: string;
id: number;
constructor(_name: string, _id: number) {
this.name = _name;
this.id = _id;
}
async getUserInfo(): Promise<any> {
const res = await fetch(`http://hoge.hoge.com/api?uname=${this.name}&uid=${this.id}`);
const data = await res.json();
return data;
}
}
this
this
class HogeUser {
constructor(name, id) {
this.name = name;
this.id = id;
}
async getUserInfo() {
const res = await fetch(`http://hoge.hoge.com/api?uname=${this.name}&uid=${this.id}`);
const data = await res.json();
return data;
}
}
Typesciptでのclass構文
本家Javacriptのclass構文
class HogeUser implements IHoge {
name: string;
id: number;
constructor(_name: string, _id: number) {
this.name = _name;
this.id = _id;
}
getUserInfo = async (): Promise<any> => {
const res = await fetch(`http://hoge.hoge.com/api?uname=${this.name}&uid=${this.id}`);
const data = await res.json();
return data;
}
}
this
記事を書いた人
ナンデモ系エンジニア
主にAngularでフロントエンド開発することが多いです。 開発環境はLinuxメインで進めているので、シェルコマンドも多用しております。 コツコツとプログラミングするのが好きな人間です。
カテゴリー