我编写了以下功能,该功能旨在检查网页的状态,然后将结果通过电子邮件发送给已定义的收件人(toList
)。
function testStatusNotif() {
var url = hostname + "/monitoring";
var listTo = listGroup;
var response = UrlFetchApp.fetch(url, params);
if(response.getResponseCode() !== 200) {
var message = 'Failed (test): response ' + response.getResponseCode();
MailApp.sendEmail(listTo, "check the platform is up and operational", message);
} else {
var message = 'Passed (test): response ' + response.getResponseCode();
MailApp.sendEmail(listTo, "trade platform is ready to open", message);
}
}
此功能按原样工作时,我想将sendMail
步骤分离为自己的功能。关键驱动因素是因为我想满足更多方案,并且每个方案都有不同的收件人和消息。我也想将sendMail
函数用于其他测试。但是,当我将它们分开时,我得到undefined
代替了message
。
这是返回undefined
的支票的示例。
function testStatusNotif() {
var url = hostname + "/monitoring";
var response = UrlFetchApp.fetch(url, params);
if(response.getResponseCode() !== 200) {
var message = 'Failed (test): response ' + response.getResponseCode();
failEmail(message);
} else {
var message = 'Passed (test): response ' + response.getResponseCode();
passEmail(message);
}
return message;
}
function failEmail() {
var listTo = listFails;
MailApp.sendEmail(listTo, "check the platform is up and operational", sampleCheck.message);
}
谁能告诉我我要去哪里错了?
答案 0 :(得分:2)
undefined
的原因是failEmail
的功能不接受该值。如果要将message
赋予failEmail(message)
和passEmail(message)
,请进行以下修改。
function failEmail() {
var listTo = listFails;
MailApp.sendEmail(listTo, "check the platform is up and operational", sampleCheck.message);
}
function failEmail(message) { // Modified
var listTo = listFails;
MailApp.sendEmail(listTo, "check the platform is up and operational", message); // Modified
}
sampleCheck
的对象,从您的脚本中不确定。所以我修改为message
。passEmail(message)
的功能,但是如果failEmail(message)
的情况相同,请以相同的方式进行修改。如果我误解了您的问题,而这不是您想要的结果,我深表歉意。