flutterでasync constructorがしたい。
TS(JS)のasync constructorしたい時と同じような感じね。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
| class SecureStorageService {
late FlutterSecureStorage _storage;
static SecureStorageService? _instance;
SecureStorageService(FlutterSecureStorage storage) {
_storage = storage;
}
FlutterSecureStorage getStorage(){
return _storage;
}
static Future<SecureStorageService> init() async{
if (_instance != null) {
return _instance!;
}else{
const storage = FlutterSecureStorage();
_instance = SecureStorageService(storage);
final res = _instance!.getStorage();
await res.write(key: "GOOGLE_CLIENT_ID", value: "");
return _instance!;
}
}
}
|
また、上記のようにすることでシングルトンにすることもできる
参考: https://www.rm48.net/post/%E3%80%90flutter-dart%E3%80%91%E3%82%B3%E3%83%B3%E3%82%B9%E3%83%88%E3%83%A9%E3%82%AF%E3%82%BF%E3%81%A7%E9%9D%9E%E5%90%8C%E6%9C%9F%E5%87%A6%E7%90%86%E3%82%92%E8%A1%8C%E3%81%84%E3%81%9F%E3%81%84%E5%A0%B4%E5%90%88%E3%81%AE%E5%AF%BE%E5%BF%9C