내가 읽은 바로는 중첩 함수는 "정적 함수"또는 심지어 Singleton 구현을 사용하여 피할 수있는 추가 선언/파괴를 유발합니다. 또한 "new"는 함수 또는 객체의 두 인스턴스가 독립적 인 복사본 인 동일한 작업을 수행합니다.nodejs/javascript의 중첩 함수
사실인가요? 그렇다면 중첩 된 함수와 동일한 기능을 "new"로 사용하려면 어떻게해야합니까? 이것은 서버가 nodejs/javascript에있는 게임을위한 것입니다. 중첩 된 함수의 약 8 단계에 도달했으며 걱정하기 시작했습니다.
예 :
DB.cityUpdateUpkeep = function(cuid)
{
/** @type {Array} */
var buildings = null;
DB.cityGet(cuid, function(error, city)
{
if(error)
{
console.log("Couldn't get city");
}
else
{
DB.iBuildings.find({cuid:cuid}, function(error, cursor)
{
if(error)
{
console.log("-error:");
console.log(error);
}
else
{
cursor.toArray(function(error, response)
{
if(error)
{
console.log("-error:");
console.log(error);
}
else
{
console.log("-the response:");
console.log(response);
buildings = response;
var income = city.resources.income;
var storage = city.resources.storage;
var stored = city.resources.stored;
for(var buildingID in buildings)
{
var building = buildings[ buildingID ];
var blueprint = DB.bBuildings[ building.buid ];
if(blueprint.resources.income)
{
income = Utils.sumObjects(income, blueprint.resources.income);
}
if(blueprint.resources.storage)
{
storage = Utils.sumObjects(storage, blueprint.resources.storage);
}
if(blueprint.resources.stored)
{
stored = Utils.sumObjects(stored, blueprint.resources.stored);
}
}
console.log("cuid: " + city._id + " income: " + income + " storage " + storage + " stored " + stored);
}
});
}
});
}
});
};
어떻게 중첩합니까? 이 기능들은 무엇입니까? 8 레벨? 진지하게? 중첩 된 함수가 아닌 콜백과 같은 소리입니다. – Joseph
예제를 제공해 주시겠습니까? 질문은 지금 너무 일반적이어서 문제를 실제로 돕지 않고 이름 지정 기능, 약속 사용, 이벤트 사용에 관한 기사로 안내하여 해결할 수 있습니다. –
예제를 추가했습니다 – Discipol