refactor: use throw instead of Promise.reject

#10712 djs
This commit is contained in:
Elysia
2025-02-14 23:47:07 +07:00
parent 3afa12574a
commit c1c0a62a0e
17 changed files with 63 additions and 64 deletions

View File

@@ -930,7 +930,7 @@ class Util extends null {
return new Promise((resolve, reject) => {
// Waiting for MsgCreate / ModalCreate
let dataFromInteractionSuccess;
let dataFromNormal;
let dataFromNormalEvent;
const handler = data => {
// UnhandledPacket
if (isHandlerDeferUpdate && data.d?.nonce == nonce && data.t == 'INTERACTION_SUCCESS') {
@@ -946,19 +946,19 @@ class Util extends null {
client.removeListener(Events.INTERACTION_MODAL_CREATE, handler);
if (isHandlerDeferUpdate) client.removeListener(Events.UNHANDLED_PACKET, handler);
client.decrementMaxListeners();
dataFromNormal = data;
dataFromNormalEvent = data;
resolve(data);
};
const timeout = setTimeout(() => {
if (dataFromInteractionSuccess || dataFromNormal) {
resolve(dataFromNormal || dataFromInteractionSuccess);
if (dataFromInteractionSuccess || dataFromNormalEvent) {
resolve(dataFromNormalEvent || dataFromInteractionSuccess);
return;
}
client.removeListener(Events.MESSAGE_CREATE, handler);
client.removeListener(Events.INTERACTION_MODAL_CREATE, handler);
if (isHandlerDeferUpdate) client.removeListener(Events.UNHANDLED_PACKET, handler);
client.decrementMaxListeners();
reject(new Error('INTERACTION_FAILED'));
reject(new DiscordError('INTERACTION_FAILED'));
}, timeoutMs).unref();
client.incrementMaxListeners();
client.on(Events.MESSAGE_CREATE, handler);