为什么你需要在服务器端的段落标签之间提取文本?
这将是我们在客户端 js 上做的事情
在您的情况下,context
应该是您通过res.render('view', {context : "My content."})
或传递给玉视图的参数res.locals
所以你可以处理你#{context}
的玉观
如果你想context
在 Jade 视图中声明变量
它应该像
-var context="我的内容。"
p #{内容}
回复jsdom
代码
在你的代码中
posts[i]
未定义。
我想你想迭代帖子,所以你应该在iterator
这里使用
你可以async
在这里使用模块
在这种情况下,map
非常适合
有关文档,请参见此处 ->异步映射
Creation.findAll({where: "state = 1",order: 'id DESC', limit: 2}).success(function(creations) {
Post.findAll({where: "state = 1",order: 'id DESC', limit: 2}).success(function(posts){
async.map(posts, function(postEntity, callback){
jsdom.env(
postEntity.content,
["http://code.jquery.com/jquery.js"],
function(errors, window) {
//deal with errors
if(errors) return callback(errors);
postEntity.content = window.$("p").text();
callback(null, postEntity);
}
);
}, function(err, transformedPosts){
if(err) return callback(err);
res.render('index', {
creations: creations,
posts: transformedPosts,
title: "Anthony Cluse | Portfolio"
});
});
});
});
仅供参考,您应该使用控制流库来管理您的回调代码
否则真的很难维护
我建议async