我有一个问题。 如何从异步函数中获取结果?
这是我的代码:
function kakaoLogin() {
return async dispatch => {
RNKakaoLogins.login((err, result) => {
console.log(result);
});
console.log(result);
};
}
第一个console.log(result)显示token!。 但第二个 console.log(result) 没有显示任何内容。
我想从第二个 console.log(result) 获得与第一个 console.log(result) 相同的结果
最佳答案
function kakaoLogin() {
return async dispatch => {
RNKakaoLogins.login((err, result) => {
console.log(result);
});
console.log(result); // calling result outside its scope will not work
};
}
您对空结果有何期望?您正在 block 之外使用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
}
关于javascript - 如何从异步函数中提取输出-react-native?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51786376/