29

React Native アプリケーションで使用AsyncStorageして、ユーザーに関する情報を保存しています。このgetItem()関数は非同期であり、ストレージ システムからデータをロードするときにコールバックを実装する必要があります。

AsyncStorage.getItem("phoneNumber").then((value) => {
    this.setState({"phoneNumber": value});
}).done();

ストレージからの値の取得には時間がかからないため、操作が完了するまで待ってから実行を続けたいと考えています。

非同期ではない方法でデータをロードすることは可能ですか? getItem()そうでない場合、呼び出しが完了するまで待機して実行を継続する簡単な方法はありますか?

4

3 に答える 3

37

の後に then を追加してみてくださいgetItem

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.
于 2016-05-09T16:52:39.033 に答える