Node.js 回调函数不使用';不要返回内容
我有一个问题,我没有找到任何解决办法。 此代码不起作用。在回调函数内部。你能解决我的问题吗Node.js 回调函数不使用';不要返回内容,node.js,etherpad,Node.js,Etherpad,我有一个问题,我没有找到任何解决办法。 此代码不起作用。在回调函数内部。你能解决我的问题吗 exports.eejsBlock_body = function (hook_name, args, cb) { customUtils.getOneValueSql(getQuery).then(function (returnData) { args.content = args.content + eejs.require("ep_top_menu/templates/ind
exports.eejsBlock_body = function (hook_name, args, cb) {
customUtils.getOneValueSql(getQuery).then(function (returnData) {
args.content = args.content + eejs.require("ep_top_menu/templates/index.ejs", {"padname":returnData}, module);
return cb();
});
};
然后使用:
eejsBlock_body(paramHook, paramArgs, function(err, content){
if(err){
console.log(err);
} else {
console.log(content)
}
});
看起来
eejsBlock_body
不适用于对args.content
的异步更改。您需要在钩子上运行该查询吗?您运行查询只是为了获取焊盘名称/id吗
如果是这种情况,您可以在索引.ejs
上放置一个占位符(例如:
),然后使用hookpostAceInit
将焊盘名称插入其中:
exports.postAceInit = function(type, context) {
$('#padId').text(clientVars.padId);
}
尝试
返回cb(null,args.content)代码>不工作,我已更改返回cb();返回cb(null,args.content);您好,我不想控制台内容,我想将内容作为参数传递给文件。因此您可以使用:if(err){return callback(err);}else{return callback(null,content)}我使用了相同的:exports.eejsBlock_body=函数(hook_name,args,cb){customUtils.getOneValueSql(getQuery)。然后(函数(returnData){args.content=args.content+eejs.require(“ep_top_menu/templates/index.ejs”,{“padname”:returnData},module);return cb(null,args.content);});};但不是wrokingDid您试图控制台的wrokingDid。记录数据只是为了确保它不是空的?您能粘贴使用eejsBlock_body回调的函数吗?
exports.postAceInit = function(type, context) {
$('#padId').text(clientVars.padId);
}