2017-08-02 45 views
0

我在快速服务器上设置了邮件服务类。Nodemailer传输创建建议

建议使用哪种创建传输方法?

class mailService { 
    private transport: nodemailer.Transport; 
    constructor(){ 
     this.transport = nodemailer.createTransport('configstring'); 
    } 

    public sendEmail(email: string){ 
     //send email 
    } 
} 

OR

class mailService { 

    public sendEmail(email: string){ 
     let transporter = nodemailer.createTransport('configstring'); 
     //send email 
    } 

    public sendOtherEmail(email: string){ 
     let transporter = nodemailer.createTransport('configstring'); 
     //send email 
    } 
} 

的文件说:“你可以在创建后往往你喜欢重复使用运输”这使我认为,第一种选择会比较好,但是不能告诉是否有任何优势。

只是简单地创建传输每次都是重复问题,或者会有多个实例在内存中浮动,每次执行sendEmail函数时都会成为孤儿?

回答

1

使用第二种方法几乎没有什么优势。如果您想更改不同发送作业之间的传输配置,它可能会派上用场。

如果不是的情况下,它是推荐的坚持使用用于根据 DRY 原则发送电子邮件单个传输(第一方法)。

你也不应该在意这里的内存,因为Node有一个垃圾回收器,在你的sendOtherEmail()函数结束后,内存将被释放。