Automatic Race Condition Handling
const usernameValidator = [
required(),
length({minLength: 2, maxLength: 20}),
usernameIsAvailableTwoStage
];
let username = 'marty';
let usernameResult = validate(usernameValidator, username);
username = 'mcfly';
if (usernameResult.validateAsync) {
usernameResult.validateAsync(() => username)
.then((asyncResult) => {
usernameResult = asyncResult;
})
.catch((rejectedResult) => {
// the asyncResult result will be rejected
// because the value has changed
});
}Async Validation Helper: validateAsync
validateAsyncLast updated