Files
airllm-fork-nodejs/node_modules/node-llama-cpp/dist/bindings/utils/asyncSome.js
2026-02-05 15:27:49 +08:00

29 lines
1.0 KiB
JavaScript

import { getConsoleLogPrefix } from "../../utils/getConsoleLogPrefix.js";
/**
* Returns a promise that fulfills as soon as any of the promises return `true`.
* Note that this function will not throw on error and instead will log the error to the console.
*/
export async function asyncSome(promises) {
if (promises.length === 0)
return Promise.resolve(false);
return new Promise((resolve) => {
let fulfilled = 0;
for (const promise of promises) {
promise
.then((result) => {
if (result)
return void resolve(true);
fulfilled++;
if (fulfilled === promises.length)
resolve(false);
})
.catch((err) => {
console.error(getConsoleLogPrefix(false, false), err);
fulfilled++;
if (fulfilled === promises.length)
resolve(false);
});
}
});
}
//# sourceMappingURL=asyncSome.js.map