我看到了这个,
chunk = chunk.write("<li>").render(bodies.block, context.push(items[i])).write("</li>\n");
在看到这段代码之前,我认为render类似于flush,并且write类似于“写入缓冲区”,自然会导致如下代码。
for loop
chunk.write("something")
end for loop
chunck.render();
但是,正如您在第一个代码中看到的那样,render 出现在写入之间。有人可以解释这两个功能之间的区别。
@贾罗:
阅读您的答案后,我尝试了以下代码:
模板:    You have {render} {write} 
数据:
{
  "name": "Mick",
  "render": function(c,ct,b){
       chunk.render("Rendered {~n}");
   },
   write:function(c,ct,b){
       chunk.write("Written {~n}")
   }
}
预期输出:
    you have Rendered 
Written {~n}
请注意{~n}单词“Rendered”之后的解释,但“Written”之后的 {~n} 不被解释。
但实际输出与预期输出不同。你能发布一个jsfiddle,这将有助于我理解。实际输出是一个空字符串,这也表明代码中可能存在错误。