我有一个问题。 如何从异步函数获得结果?
这是我的代码:
function kakaoLogin() {
return async dispatch => {
RNKakaoLogins.login((err, result) => {
console.log(result);
});
console.log(result);
};
}
第一个console.log(result)显示令牌!。 但是第二个console.log(result)没有显示任何内容。
我想从第二个console.log(结果)获得与第一个console.log(结果)相同的结果
答案 0 :(得分:2)
function kakaoLogin() {
return async dispatch => {
RNKakaoLogins.login((err, result) => {
console.log(result);
});
console.log(result); // calling result outside its scope will not work
};
}
对空结果的期望是什么?您正在块之外使用result
。
如果您想做些回应。那么您可以像这样进行方法调用。
function kakaoLogin() {
return async dispatch => {
RNKakaoLogins.login((err, result) => {
console.log(result);
doSomeWork(result);
// you can call another method here when you get response.
});
};
}
function doSomeWork(result){
.. somework
}