Reactネイティブアプリケーションでユーザーに関する情報を保存するためにAsyncStorage
を使用しています。getItem()
関数は非同期であり、コールバックを実装する必要があります。ストレージシステムからデータをロードしたい。
_AsyncStorage.getItem("phoneNumber").then((value) => {
this.setState({"phoneNumber": value});
}).done();
_
ストレージから値を取得するのに時間がかからないため、操作が完了するまで待ってから実行を続けたいと思います。
非同期ではない方法でデータをロードすることは可能ですか?そうでない場合、getItem()
呼び出しが完了して実行を継続するまで待つ簡単な方法はありますか?
getItem
の後にthenを追加してみてください。
AsyncStorage.getItem("phoneNumber").then((value) => {
this.setState({"phoneNumber": value});
})
.then(res => {
//do something else
});
または、awaitを使用してasync
操作が完了するのを待ちます
var value = await AsyncStorage.getItem(STORAGE_KEY);
//use value to do something else.
このオプションを試してみると、
構文エラー:Awaitは予約語です
async getData() {
return await AsyncStorage.getItem("@App:KEY");
}