是否可以通过承诺财产?

时间:2018-06-11 19:29:14

标签: javascript node.js promise cron

1)我可以传递一个函数,它将promise返回参数" onTick"在CronJob构造函数中?

让我们说我的功能是:

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

和CronJob接受参数onTick The function to fire at the specified time

来自docs的例子:

`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'
 });`

我怎样才能将promise func传递给onTick参数?或者可能还有另一个问题的解决方案?

2)我应该安装任何包来设置timeZone吗? 如果我将timeZone设置为" Asia / Baku",它会起作用吗?

1 个答案:

答案 0 :(得分:0)

onTick方法仅使用函数。您可以将其分配给函数,并依次调用您的承诺。类似的东西:

onTick: PromiseRunner

其中PromiseRunner是您调用promise的函数。

要处理承诺,您需要使用Promise chainingPromiseRunner函数内执行此操作。

您不能将任何参数传递给onTick函数(或承诺),但您可以使用context属性来提供您希望函数运行的上下文。