Возможно ли передать обещание в собственность? - PullRequest
0 голосов
/ 11 июня 2018

1) Могу ли я передать функцию, которая возвращает обещание параметру "onTick" в конструкторе CronJob?

скажем, моя функция:

`function a() {
    return new Promise((res, rej) => {
        res(smth);
    });
 }`

и CronJob принимает параметр onTick, который The function to fire at the specified time.

пример из документации:

`const cron = require('cron');
 var job1 = new cron.CronJob({
     cronTime: '* * * * *',
     onTick: function() { // How to pass my promise?
         console.log('job 1 ticked');
     },
     start: false,
     timeZone: 'America/Los_Angeles'
 });`

Опять же, как я могу передать функцию обещания параметру onTick?Или, может быть, есть другое решение проблемы?

2) Должен ли я установить какой-либо пакет с настройкой timeZone?Если я установлю timeZone на «Азия / Баку», будет ли это работать?

1 Ответ

0 голосов
/ 11 июня 2018

onTick метод принимает только функцию.Вы можете назначить его функции с вызовами по очереди вашего обещания.Что-то вроде:

onTick: PromiseRunner

, где PromiseRunner - это функция, в которой вы вызываете обещание.

Чтобы обработать обещание, вам нужно сделать это внутри функции PromiseRunner, используя Обещание цепочки .

Нельзя передать аргумент функции onTick (или обещанию), но вы можете использовать свойство context, чтобы предоставить контекст, в котором вы хотитефункция для запуска.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...