Skip to content

Instantly share code, notes, and snippets.

@kotobukid
Created March 6, 2024 03:30
Show Gist options
  • Save kotobukid/53d94b7c31cf36a28ecb38f928ca026a to your computer and use it in GitHub Desktop.
Save kotobukid/53d94b7c31cf36a28ecb38f928ca026a to your computer and use it in GitHub Desktop.
asyncjsのよくありそうな処理に型を律義につけるとこうなるらしい
import async, {AsyncFunction, AsyncResultArrayCallback} from "async";
const main = (): void => {
const funcs0: AsyncFunction<number, Error>[] = [1, 2, 3].map((num: number): AsyncFunction<number, Error> => {
return (callback: (err: Error | null, result?: number) => void): void => {
callback(null, num * 2);
}
});
const after: AsyncResultArrayCallback<number, Error> = (errors: Error | undefined | null, results: (number | undefined)[] | undefined): void => {
if (errors) {
console.error(errors);
} else {
console.log(results);
}
};
async.parallel<number, Error>(funcs0, after);
};
main();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment