0
に私はOrderHistory作業モデルがあります:はネイティブリアクト:AsyncStorage.getItem(によってフェッチされた値を返す)関数
showConfirmOrderModal() {
alert("booya");
}
onBuyButtonPress() {
OrderHistory.ordersPlaced().then((amount) => {
switch(amount) {
case null:
this.showConfirmOrderModal();
break;
default:
this.addToCart(this.state.currentOrder);
}
});
}
があります:
import { AsyncStorage } from 'react-native';
const tokenKey = "orderHistory";
export default class OrderHistory extends Object {
static ordersPlaced() {
return AsyncStorage.getItem(tokenKey);
}
}
、私のコンポーネント内に私はこれを持っていますOrderHistoryモデルのAsyncStorage.getItem()
によって返されたPromiseを解決するために.then
関数を移動する方法はありますか?私はこのような何かをしようとしたが、それはうまくいきませんでした:
orderhistory:
export default class OrderHistory extends Object {
static async ordersPlaced() {
AsyncStorage.setItem("myKey", "My value here");
return AsyncStorage.getItem("myKey").then((value) => value);
}
}
コンポーネント:
onBuyButtonPress() {
let blah = OrderHistory.ordersPlaced();
console.log(blah);
}
しかし、それは私が間違っているのは何Promise {_45: 0, _81: 0, _65: null, _54: null}
を出力しますか?
を、あなたが対処する必要がありますプロミスと結果を得るために '.then'を使います。あなたはコードを同期させるために、今後のasync/await JS機能を見てみることができます(ここでは、反応ネイティブのQAです)。(http://stackoverflow.com/questions/34016685/how-to -use-await-key-on-react-native) –