action.jsredux-thunk क्रियाओं को async/await कैसे करें?
export function getLoginStatus() {
return async(dispatch) => {
let token = await getOAuthToken();
let success = await verifyToken(token);
if (success == true) {
dispatch(loginStatus(success));
} else {
console.log("Success: False");
console.log("Token mismatch");
}
return success;
}
}
component.js
componentDidMount() {
this.props.dispatch(splashAction.getLoginStatus())
.then((success) => {
if (success == true) {
Actions.counter()
} else {
console.log("Login not successfull");
}
});
}
हालांकि, जब मैं async साथ component.js कोड लिखने/की तरह नीचे मैं इस त्रुटि मिलती है इंतजार:
Possible Unhandled Promise Rejection (id: 0): undefined is not a function (evaluating 'this.props.dispatch(splashAction.getLoginStatus())')
घटक.जेएस
async componentDidMount() {
let success = await this.props.dispatch(splashAction.getLoginStatus());
if (success == true) {
Actions.counter()
} else {
console.log("Login not successfull");
}
}
मैं getLoginStatus() का इंतजार कैसे करूं और फिर शेष बयानों को निष्पादित करूं? सब कुछ का उपयोग करते समय काफी अच्छी तरह से काम करता है .then()। मुझे संदेह है कि मेरे async/प्रतीक्षा कार्यान्वयन में कुछ याद आ रही है। इसे समझने की कोशिश कर रहा है।
क्या आपने कभी यह पैटर्न तैयार किया है? यदि ऐसा है तो क्या आप यहां जवाब पोस्ट कर सकते हैं? – ajonno
आप रेडक्स जुड़े रिएक्शन घटक में एक वादे का इंतजार क्यों कर रहे हैं? यह डेटा यूनी दिशा पैटर्न – Aaron