Schema - ThrowAsync
The .throwAsync method performs the same functionality as .throw, but works asynchronously, throwing an error if the value fails validation.
Syntax
.throwAsync(value: any, valueName?: string, ClassError?: ErrorTypes): Promise<void>- value: The value or a Promise of the value to be validated.
- valueName: A string used to reference the value in the error message.
- ClassError (optional): A custom error class to be used when throwing the error.
Example
The following example demonstrates how to use .throwAsync to validate a value asynchronously and throw an error if validation fails:
import { schema } from "vkrun";
const schema = schema().number();
try {
const value = async (): Promise<string> => {
return await new Promise((resolve) => {
setTimeout(() => {
resolve("123");
}, 100);
});
};
schema.throwAsync(value(), "value_name");
} catch (error) {
console.error(error.message); // "value_name must be a number type!"
}