Possible Unhandled Promise Rejection (id: 0): ReferenceError: error is not defined
Possible Unhandled Promise Rejection (id: 0): ReferenceError: error is not defined
//LoginScreen.js
import signIn from "amplify-communication"
const LoginScreen = props => {
function _signIn(username, password){
const request = signIn(username, password);
if(request.isCommited)
console.log("User is Signed In");
else
console.log("Error Signing In", request.message);
}
}
// amplify-communication.js
import { Auth } from "aws-amplify";
export async function signIn(_username, _password) {
try {
var user = await Auth.signIn(_username, _password);
} catch (error) {
console.log('Error Signing in');
}
finally {
return {
isCommitted: error ? false : true,
message: error,
payload: user
}
}
}
我有单独的文件用于与 Amplify 通信。我正在返回一个具有不同键的对象。
在 运行 代码中,它向我显示了以下警告。
1 - 可能未处理的承诺拒绝(id:0):
ReferenceError:错误未定义
ReferenceError:错误未定义
2- 使用不安全的随机数生成器,只有在不支持 crypto.getRandomValues
的调试器中 运行 时才会发生这种情况
error
仅作用于 catch
块,因此当您尝试在 finally
块中使用 error
时,它是一个未声明的标识符。您在成功路径上遇到与 user
相同的问题。
相反,要么在变量中跟踪该信息,要么重复 return
语句。
export async function signIn(_username, _password) {
try {
const user = await Auth.signIn(_username, _password);
return {
isCommitted: true,
payload: user,
message: undefined, // if you need it, otherwise remove
};
} catch (error) {
console.log('Error Signing in');
return {
iscCommitted: false,
payload: undefined, // if you need it, otherwise remove
message: error,
};
}
}
关于随机数生成器的事情听起来像是您正在使用的包发出的关于您 运行 代码所在环境的警告(例如,它没有强大的随机数生成器)。
旁注:可以将错误转换成这样的return值是正确的,但更多时候允许错误传播到更正确调用者(也许是它的调用者等)而不是强制每个级别检查 return 值以查看是否有效。同样,在不知道此功能的用途的情况下,可能适用也可能不适用于此处,但只需将其标记即可。
//LoginScreen.js
import signIn from "amplify-communication"
const LoginScreen = props => {
function _signIn(username, password){
const request = signIn(username, password);
if(request.isCommited)
console.log("User is Signed In");
else
console.log("Error Signing In", request.message);
}
}
// amplify-communication.js
import { Auth } from "aws-amplify";
export async function signIn(_username, _password) {
try {
var user = await Auth.signIn(_username, _password);
} catch (error) {
console.log('Error Signing in');
}
finally {
return {
isCommitted: error ? false : true,
message: error,
payload: user
}
}
}
我有单独的文件用于与 Amplify 通信。我正在返回一个具有不同键的对象。 在 运行 代码中,它向我显示了以下警告。
1 - 可能未处理的承诺拒绝(id:0): ReferenceError:错误未定义 ReferenceError:错误未定义
2- 使用不安全的随机数生成器,只有在不支持 crypto.getRandomValues
的调试器中 运行 时才会发生这种情况error
仅作用于 catch
块,因此当您尝试在 finally
块中使用 error
时,它是一个未声明的标识符。您在成功路径上遇到与 user
相同的问题。
相反,要么在变量中跟踪该信息,要么重复 return
语句。
export async function signIn(_username, _password) {
try {
const user = await Auth.signIn(_username, _password);
return {
isCommitted: true,
payload: user,
message: undefined, // if you need it, otherwise remove
};
} catch (error) {
console.log('Error Signing in');
return {
iscCommitted: false,
payload: undefined, // if you need it, otherwise remove
message: error,
};
}
}
关于随机数生成器的事情听起来像是您正在使用的包发出的关于您 运行 代码所在环境的警告(例如,它没有强大的随机数生成器)。
旁注:可以将错误转换成这样的return值是正确的,但更多时候允许错误传播到更正确调用者(也许是它的调用者等)而不是强制每个级别检查 return 值以查看是否有效。同样,在不知道此功能的用途的情况下,可能适用也可能不适用于此处,但只需将其标记即可。