我在 express 服务器上设置了邮件服务类。
推荐使用哪种创建传输的方法?
class mailService {
private transport: nodemailer.Transport;
constructor(){
this.transport = nodemailer.createTransport('configstring');
}
public sendEmail(email: string){
//send email
}
}
或者
class mailService {
public sendEmail(email: string){
let transporter = nodemailer.createTransport('configstring');
//send email
}
public sendOtherEmail(email: string){
let transporter = nodemailer.createTransport('configstring');
//send email
}
}
文档说“您可以在创建传输后随意重用它”,这让我认为第一个选项会更好,但无法判断是否有任何优势。
每次简单地创建传输是否会造成重复问题,或者是否会有多个实例在内存中 float ,每次执行 sendEmail
函数时都会成为孤立实例?
最佳答案
使用第二种方法几乎没有什么优势。如果您想更改不同发送作业之间的传输配置,它可能会派上用场。
如果情况并非如此,则建议坚持使用单一传输(第一种方法)根据 DRY 原理。
您也不应该担心这里的内存,因为 Node 有一个垃圾收集器,并且在 sendOtherEmail()
函数结束后内存将被释放。
关于express - Nodemailer 传输创建推荐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45461137/