0
에 AsyncStorage.getItem()에서 가져온 값을 반환 나는 OrderHistory 작업 모델을했다 :가 기본 반작용 : 기능
import { AsyncStorage } from 'react-native';
const tokenKey = "orderHistory";
export default class OrderHistory extends Object {
static ordersPlaced() {
return AsyncStorage.getItem(tokenKey);
}
}
내 구성 요소에 나는이 있습니다
showConfirmOrderModal() {
alert("booya");
}
onBuyButtonPress() {
OrderHistory.ordersPlaced().then((amount) => {
switch(amount) {
case null:
this.showConfirmOrderModal();
break;
default:
this.addToCart(this.state.currentOrder);
}
});
}
인가 거기 방법 에 의해 반환 된 약속을 해결하기 위해
.then
함수를 이동하려면 OrderHistory 모델? 나는 이런 식으로 뭔가를 시도했지만 작동하지 않았다 :
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
콜백 지옥 제거하기 위해, 당신은 여전히 Promise
와 "기다리고"완성 걸리는async/await
구문을 사용할 수 있습니다 약속을하고'.then'을 사용하여 결과를 얻으십시오. 코드를 동기식으로 보이게하려면 곧 비동기식/기다리기 JS 기능을 살펴볼 수 있습니다. [여기서는 반응 네이티브에서 QA가 있습니다.] (http://stackoverflow.com/questions/34016685/how-to -use-await-key-on-react-native) –