仅适用于 Android 上的远程调试 JS
Only works with Debug JS Remotely on Android
我正在使用 AsyncStorage 存储来自 AWS 的 JWT 令牌,但我想澄清一个意外行为。
这是我当前的代码:
const retrieveJwt = async () => {
try {
const value = await AsyncStorage.getItem('jwt');
if (value !== null) {
return value;
}
else{
let user = await Auth.currentAuthenticatedUser();
let jwt = user.signInUserSession.accessToken.jwtToken;
return jwt
}
} catch (error) {
// Error retrieving data
let user = await Auth.currentAuthenticatedUser();
let jwt = user.signInUserSession.accessToken.jwtToken;
return jwt
}
}
// AppSync init
const client = new Client({
url: AppSync.graphqlEndpoint,
region: AppSync.region,
auth:{
type: 'AMAZON_COGNITO_USER_POOLS',
jwtToken: async () => await retrieveJwt(),
},
disableOffline: true
})
当我运行使用这个应用程序时,我得到了这个:
- Android 未经调试的真实设备:失败
- Android 带有远程调试 JS 的真实设备:成功
- IOS 没有调试的模拟器:成功
- IOS 模拟器远程调试 JS:成功
问题是 AsyncStorage 和 AWS Auth 似乎都没有检索到 JWT 令牌 Class,我无法解决它,因为:
- 我 运行 在 Android 没有调试的真实设备上:不工作。
- 我 运行 在 Android 上调试:它有效。
所以我无法调试以查看问题所在,因为当我尝试在 Android 上调试时它可以正常工作。
希望有人能帮助我。
我在这里遇到了类似的问题。
我的问题不是当我从 AsyncStorage
中读取值时,而是当我试图保存一些值时。
当我使用远程调试器时一切正常,但没有它会出现 Error
。
解决方案是将值转换为字符串,然后再将它们保存到存储中。
我正在使用 AsyncStorage 存储来自 AWS 的 JWT 令牌,但我想澄清一个意外行为。
这是我当前的代码:
const retrieveJwt = async () => {
try {
const value = await AsyncStorage.getItem('jwt');
if (value !== null) {
return value;
}
else{
let user = await Auth.currentAuthenticatedUser();
let jwt = user.signInUserSession.accessToken.jwtToken;
return jwt
}
} catch (error) {
// Error retrieving data
let user = await Auth.currentAuthenticatedUser();
let jwt = user.signInUserSession.accessToken.jwtToken;
return jwt
}
}
// AppSync init
const client = new Client({
url: AppSync.graphqlEndpoint,
region: AppSync.region,
auth:{
type: 'AMAZON_COGNITO_USER_POOLS',
jwtToken: async () => await retrieveJwt(),
},
disableOffline: true
})
当我运行使用这个应用程序时,我得到了这个:
- Android 未经调试的真实设备:失败
- Android 带有远程调试 JS 的真实设备:成功
- IOS 没有调试的模拟器:成功
- IOS 模拟器远程调试 JS:成功
问题是 AsyncStorage 和 AWS Auth 似乎都没有检索到 JWT 令牌 Class,我无法解决它,因为:
- 我 运行 在 Android 没有调试的真实设备上:不工作。
- 我 运行 在 Android 上调试:它有效。
所以我无法调试以查看问题所在,因为当我尝试在 Android 上调试时它可以正常工作。
希望有人能帮助我。
我在这里遇到了类似的问题。
我的问题不是当我从 AsyncStorage
中读取值时,而是当我试图保存一些值时。
当我使用远程调试器时一切正常,但没有它会出现 Error
。
解决方案是将值转换为字符串,然后再将它们保存到存储中。