Adding custom implementation of Promise.withResolvers
This commit is contained in:
parent
d0a0fcb105
commit
5abb6ce167
@ -1,5 +1,6 @@
|
|||||||
import tdl from 'tdl';
|
import tdl from 'tdl';
|
||||||
import { platform } from 'node:process';
|
import { platform } from 'node:process';
|
||||||
|
import Utils from '../utils/utils.js';
|
||||||
|
|
||||||
class TGClient {
|
class TGClient {
|
||||||
|
|
||||||
@ -91,7 +92,7 @@ class TGClient {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
let sendStatusTask = Promise.withResolvers();
|
let sendStatusTask = Utils.promiseWithResolvers();
|
||||||
this.sendTasks.set(message.id, sendStatusTask);
|
this.sendTasks.set(message.id, sendStatusTask);
|
||||||
return await sendStatusTask.promise;
|
return await sendStatusTask.promise;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,4 +1,5 @@
|
|||||||
import { TGClient } from './tgclient.js';
|
import { TGClient } from './tgclient.js';
|
||||||
|
import Utils from '../utils/utils.js';
|
||||||
|
|
||||||
class TGProvider {
|
class TGProvider {
|
||||||
|
|
||||||
@ -45,7 +46,7 @@ class TGProvider {
|
|||||||
async getReport(number) {
|
async getReport(number) {
|
||||||
try {
|
try {
|
||||||
await this.tgClient.sendMessage(this.chat, number);
|
await this.tgClient.sendMessage(this.chat, number);
|
||||||
let waitResponseTask = Promise.withResolvers();
|
let waitResponseTask = Utils.promiseWithResolvers();
|
||||||
this.checksMap.set(number, waitResponseTask);
|
this.checksMap.set(number, waitResponseTask);
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
waitResponseTask.reject(Error('TG report timeout'));
|
waitResponseTask.reject(Error('TG report timeout'));
|
||||||
|
|||||||
@ -5,8 +5,8 @@
|
|||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"server": "node --js-promise-withresolvers --async-stack-traces --trace-warnings index.js",
|
"server": "node --async-stack-traces --trace-warnings index.js",
|
||||||
"migration": "node --js-promise-withresolvers --async-stack-traces --trace-warnings migration.js",
|
"migration": "node --async-stack-traces --trace-warnings migration.js",
|
||||||
"test": "echo \"Error: no test specified\" && exit 1"
|
"test": "echo \"Error: no test specified\" && exit 1"
|
||||||
},
|
},
|
||||||
"author": "Selim Mustafaev",
|
"author": "Selim Mustafaev",
|
||||||
|
|||||||
@ -133,6 +133,15 @@ class Utils {
|
|||||||
let date = (new Date(...dateParams)).getTime();
|
let date = (new Date(...dateParams)).getTime();
|
||||||
return Math.floor(date/1000);
|
return Math.floor(date/1000);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static promiseWithResolvers() {
|
||||||
|
let resolve, reject;
|
||||||
|
const promise = new Promise((res, rej) => {
|
||||||
|
resolve = res;
|
||||||
|
reject = rej;
|
||||||
|
});
|
||||||
|
return { promise, resolve, reject };
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export default Utils;
|
export default Utils;
|
||||||
Loading…
Reference in New Issue
Block a user