Javascript ejs.renderFile结果转换为字符串

Javascript ejs.renderFile结果转换为字符串,javascript,node.js,promise,ejs,sendgrid,Javascript,Node.js,Promise,Ejs,Sendgrid,您好,我需要将ejs.renderfile结果转换为字符串,以便随后通过“SendGrid”服务通过邮件发送 emailTemplatCompany变量中有类似的内容: Promise {   '<!DOCTYPE html>\r\n' +     '<html lang="en">\r\n' +     '<head>\r\n' +     '    <meta charset="UTF-8">\r\n'

您好,我需要将ejs.renderfile结果转换为字符串,以便随后通过“SendGrid”服务通过邮件发送

emailTemplatCompany变量中有类似的内容:

Promise {
  '<!DOCTYPE html>\r\n' +
    '<html lang="en">\r\n' +
    '<head>\r\n' +
    '    <meta charset="UTF-8">\r\n' +
    '    <meta name="viewport" content="width=device-width, initial-scale=1.0">\r\n' +
    '    <style>\r\n' +
    '        body{\r\n' ........
}
承诺{
“\r\n”+
“\r\n”+
“\r\n”+
“\r\n”+
“\r\n”+
“\r\n”+
'正文{\r\n'。。。。。。。。
}
你能帮我找到解决这个问题的最佳答案吗


提前感谢您

您可以使用
ejs.render
ejs.renderFile
来执行此操作。这两种方法的区别在于
render()
需要一个模板字符串作为输入,并且是同步的:
const resolvedTemplateAsStr = ejs.render(str, data);
renderFile()
需要模板文件的路径作为输入,并且是异步的:

const resolvedTemplateAsStr = await ejs.renderFile('./path/to/template.ejs', data);

您可以使用
ejs.render
ejs.renderFile
来执行此操作。这两种方法之间的区别在于
render()
需要一个模板字符串作为输入,并且是同步的:
const resolvedTemplateAsStr = ejs.render(str, data);
renderFile()
需要模板文件的路径作为输入,并且是异步的:

const resolvedTemplateAsStr = await ejs.renderFile('./path/to/template.ejs', data);

尝试
emailTemplatCompany。然后(str=>console.log(str))
通过查看文档,您还可以执行
ejs.renderFile(文件名、数据、选项、函数(err、str){//str=>Rendered HTML string});
Try
emailTemplatCompany。然后(str=>console.log(str))
通过查看文档,您还可以执行
ejs.renderFile(文件名、数据、选项、函数(err、str){//str=>Rendered HTML string});