这是我的回调:
function evaluateServiceResponse(err, response){
db.answerCollection.insert({id: response["serviceAnswer"]["id"]}); //problem is this line
}
这是我的回调用户:
mysoapclient.invokeServiceMethod(jsonRecords,this.evaluateServiceResponse);
这是整个代码。在process
内部,我创建了一个对我的数据库的块引用:
process(function(){
...
let db=null;
db = mongoClient.connect(connectionURL);
//Do whatever to create jsonRecords
mysoapclient.invokeServiceMethod(jsonRecords,this.evaluateServiceResponse);
...
});
invokeServiceMethod
与服务对话,然后调用回调,向其传递服务响应。
如何将db引用放入我的回调evaluateServiceResponse
?
感谢。
答案 0 :(得分:0)
使用闭包:
function evaluateServiceResponse(db){
return function(err, response){
db.answerCollection.insert({id: response["serviceAnswer"]["id"]}); //problem is this line
}
}
并使用如下:
mysoapclient.invokeServiceMethod(jsonRecords,this.evaluateServiceResponse(db));
答案 1 :(得分:0)
我相信这就是你想要的:
function evaluateServiceResponse(err, response, db){
db.answerCollection.insert({id: response["serviceAnswer"]["id"]}); //problem is this line
}
process(function(){
let db=null;
db = mongoClient.connect(connectionURL);
//Do whatever to create jsonRecords
mysoapclient.invokeServiceMethod(jsonRecords, (err, response) => {
return this.evaluateServiceResponse(err, response, db);
});
});