如何禁用多个axios.post?
How to disable multiple axios.post?
function executeStatement() {
let time = global.setInterval(() => {
var date = new Date();
if (date.getHours() === 14 && date.getMinutes() === 38) {
console.log("What did it choose?", result_shuffle);
console.log("Time", time);
if (shufflearray) {
var sql = `UPDATE developers SET selected = ${result_shuffle.selected} + 1 WHERE id = ${result_shuffle.id}`;
db.query(sql, function (err, result) {
if (err) throw err;
console.log(result.affectedRows + " record(s) updated");
});
axios.post('https://hooks.slack.com/services/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', {
blocks: [
{
type: 'section',
text: {
type: 'mrkdwn',
text: `Name: yo \n\n Email: sup`,
},
},
],
})
}
else {
const abort = "abort"
console.log(abort);
}
}
}, 2000);
};
所以我正在构建一个函数,该函数在时间戳 14:38 命中时执行某个值。然后将此消息重定向到 Slack 频道(基本上是 Slack 机器人)。一切顺利,但我遇到了问题。 axios.post 正在发送多个 POST。
所以我的 slack 频道现在被垃圾邮件发送了 Name: Email: posts.
我怎样才能让它只在时间到了时发布一次?
或者我怎样才能使时间更精确以便 axios.post 停止?
您可以像这样修改您的 if 语句
if (date.getHours() === 14 && date.getMinutes() === 38 && date.getSeconds() < 2) {
// ....
}
这也将检查秒数
function executeStatement() {
let time = global.setInterval(() => {
var date = new Date();
if (date.getHours() === 14 && date.getMinutes() === 38) {
console.log("What did it choose?", result_shuffle);
console.log("Time", time);
if (shufflearray) {
var sql = `UPDATE developers SET selected = ${result_shuffle.selected} + 1 WHERE id = ${result_shuffle.id}`;
db.query(sql, function (err, result) {
if (err) throw err;
console.log(result.affectedRows + " record(s) updated");
});
axios.post('https://hooks.slack.com/services/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', {
blocks: [
{
type: 'section',
text: {
type: 'mrkdwn',
text: `Name: yo \n\n Email: sup`,
},
},
],
})
}
else {
const abort = "abort"
console.log(abort);
}
}
}, 2000);
};
所以我正在构建一个函数,该函数在时间戳 14:38 命中时执行某个值。然后将此消息重定向到 Slack 频道(基本上是 Slack 机器人)。一切顺利,但我遇到了问题。 axios.post 正在发送多个 POST。
所以我的 slack 频道现在被垃圾邮件发送了 Name: Email: posts.
我怎样才能让它只在时间到了时发布一次? 或者我怎样才能使时间更精确以便 axios.post 停止?
您可以像这样修改您的 if 语句
if (date.getHours() === 14 && date.getMinutes() === 38 && date.getSeconds() < 2) {
// ....
}
这也将检查秒数