在handler
我的Fastify路线中,我将一个类的对象添加到我的Bull队列中。在队列的 process 方法中,这个对象不再是类的实例。这是正常的还是我错过了一些(或很多)基础知识?
const fastify = require('fastify')({ logger: true })
const Queue = require('bull');
let addQueue = new Queue('Add', 'redis://127.0.0.1:6379');
...
addQueue.process(function(job, done){
console.log(job.data.dataObj instanceof ClasssDefinedSomwhereElse);
}
...
fastify.route({
method: 'POST',
url: '/',
...
handler: async (request, reply) => {
if(isFirstRequest) {
classObj = new ClasssDefinedSomwhereElse();
isFirstRequest = false;
} else {
console.log(classObj instanceof ClasssDefinedSomwhereElse);
addQueue.add({dataObj: classObj});
}
addQueue.add({dataObj: classObj});
或addQueue.add(classObj);
没有区别。handler
打印和方法打印true
。为什么是这样?process
false
我最终要做的是,在process
方法中,使用我刚刚传入的对象调用类的方法。我不是 Javascript 背景,所以我想我可能错过了一些基本的东西。任何帮助表示赞赏。