gpt4 book ai didi

javascript - 将 this.unblock() 与 Meteor percolate 一起使用 :synced-cron

转载 作者:行者123 更新时间:2023-12-03 04:59:41 24 4
gpt4 key购买 nike

是否可以将 this.unblock() 与 percolate:synced-cron 一起使用?我希望 PJ2_1、PJ2_2、PJ2_3 都能快速打印出来,而不是等待 Meteor.call() 在 10 秒内完成,但事实并非如此。

示例作业:

SyncedCron.add({
name: 'pj2',
schedule: function(parser) {
return parser.text('every 30 seconds');
},
job: function() {
console.log("PJ2_1:");

Meteor.call('fa2', function(err, res) {
if (err) {
console.log("FA2: ERROR");
}
});

console.log("PJ2_2:");

Meteor.call('fa2', function(err, res) {
if (err) {
console.log("FA2: ERROR");
}
});

console.log("PJ2_3:");
}
});

Meteor.methods() 示例:

if (Meteor.isServer) {
Meteor.methods({
'fa2': function() {
this.unblock();
const data = HTTP.get('http://www.fakeresponse.com/api/?data={%22Hello%22:%22World%22}&meta=false&sleep=10');
return data;
}
})
}

最佳答案

当服务器调用方法时,

this.unblock 无法按您期望的方式工作。根据消息来源,服务器上的unblock是无操作的。这是有道理的,因为在服务器上,没有连接(您没有进行基于 DDP 的调用),因此本身没有什么可以解锁的。

不要调用方法,而是直接调用 HTTP.get 并指定回调,您将观察到所需的行为。

或者,定义一个由方法代码共享并在 SyncedCron 作业中调用的函数。

关于javascript - 将 this.unblock() 与 Meteor percolate 一起使用 :synced-cron,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42282678/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com