다른 함수에서 AsyncStorage에 저장된 값을 사용하고 싶습니다.약속 대신 AsyncStorage (getItem)에서 키 값 반환
는 여기가 AsyncStorage에 저장된 savedValue 그렇다고 값을 얻기 위해 위의 기능 getSavedValue()를 만들어 내 ValueHandler.js
import { AsyncStorage } from 'react-native';
export async function getSavedValue() {
try {
const val = await AsyncStorage.getItem('@MyStore:savedValue');
console.log("#getSavedValue", val);
return val;
} catch (error) {
console.log("#getSavedValue", error);
}
return null;
}
입니다.
import {getSavedValue} from '../lib/ValueHandler';
import Api from '../lib/Api';
export function fetchData() {
return(dispatch, getState) => {
var params = [
'client_id=1234567890',
];
console.log("#getSavedValue()", getSavedValue());
if(getSavedValue() != null) {
params = [
...params,
'savedValue='+getSavedValue()
];
}
params = params.join('&');
console.log(params);
return Api.get(`/posts/5132?${params}`).then(resp => {
console.log(resp.posts);
dispatch(setFetchedPosts({ post: resp.posts }));
}).catch((ex) => {
console.log(ex);
});
}
}
어떻게해야합니까? 로컬 저장소에 값을 저장하고 API 호출을해야 할 때 간단히 검색 할 수있는 간단한 방법이 필요했습니다.
누구든지 이에 대한 제안이나 해결책이 있습니까?
나는 문제가 가정 답변을 게시에 그래서 당신을 기다리고 있습니다
return (dispatch, getState) => {
에async
추가를 호출을 가져 오는 것은 키 (asyncStorage에 저장된 값)가 검색되기 전에 수행됩니다 (asyncStorage에서의 검색은 비동기 임). Plz은 질문이 잘 설명되지 않았기 때문에 문제가 다른 것이라면 저에게 맞습니다 :) –async functions as a promise ... async/await는 약속을위한 설탕 ... 값을 얻으려면, getSavedValue를 호출하는 함수가'async'가 아니기 때문에 당신은 오래된 학교 약속 구문 인'getSavedValue(). then (value =>/*)를 정의 할 것입니다. 여기에 여기있는 값을 사용하세요 * /)' –
@ JaromandaX- 알겠습니다. 나는 then() 부분에서 그것을 사용하는 일반적인 방법을 알고있다. 나는 값으로 저장하고 직접 액세스하는 직접적인 방법을 원했다. 어쨌든 고마워. –