var DBProcessor = function(name){this.name=name;};
DBProcessor.prototype.CallBack = function(err, d){
if (err) {
console.log("writeHosts. Error:", JSON.stringify(err, null, 2));
} else {
console.log(".........");
console.log(this.name); // >>>> UNDEFINED
console.log(".........");
}
}
var DBP = new DBProcessor("Hosts");
function writeHosts(){
...
..
db.batchWriteItem(param, DBP.CallBack);}
를 호출 할 수있는 방법을보고 난 DBP.CallBack가 호출되는 방식에는 영향이 없습니다이 손실 범위 내가/적용 사용 전 "이"잃고 범위 DBP 내부 변수를 얻을 수있는 방법
var doc = require('dynamodb-doc');
var db = new doc.DynamoDB();
그래서 내가 어떻게 apply() 또는 call()을 사용할 수 있는지 알지 못합니다.
확실하지 바인드와 여기
에 "바인딩"구글 할 수 있도록 어떤 작품 당신은 이 이음새가 작동하는 것을 의미합니다 함수 DBProcessor { return { 콜백 : 함수 (err, d) { if (err) { console.log ("writeHosts. 오류 : ", JSON.stringify (err, null, 2)); else { console.log ("......... "); console.log (_this.a); console .LOG (".........");} }}} VAR의 DBP = {A : 1} DBP.p 새로운 DBProcessor = (DBP) – Ino
@Ino : 매우 이상한 방법입니다. 내 대답의 어떤 부분을 이해하지 못했습니까? 바인딩에 대한 설명서를 읽었습니까? 클로저가 무엇인지 압니까? 그렇지 않다면, 인터넷 검색을하는 것이 좋습니다. –