我在react-native中创建了一个看起来像这个的函数
static async myFunction(){
await RNSFAuthenticationSession.getSafariData(url,scheme).then(async (callbackUrl) => {
const isValid = await MyClass.checkIfValid(data);
if (isValid) {
return true;
} else {
return false;
}
}
我以这种方式称呼它
const isValid = await MyClass.myFunction();
alert(isValid); // undefined
isValid
包含undefined
值。你知道我怎么解决这个问题?
答案 0 :(得分:1)
你忘记归还Promise
static async myFunction(){
return await RNSFAuthenticationSession.getSafariData(url,scheme).then(async (callbackUrl) => {
const isValid = await MyClass.checkIfValid(data);
if (isValid){
return true;
} else {
return false;
}
}
您可以简化代码
static myFunction() {
return RNSFAuthenticationSession.getSafariData(url, scheme)
.then(() => MyClass.checkIfValid(data))
}