まず、クリックでこれらの機能を実行しています。
$('#bodyHVAC a#zMaps').one('click', function(){
appendZoneMapStuff(globalPaths.mallName, function(){
//console.log('appendZoneMapStuff');
setTimeout(function(){
getPathToUnits(function(){
setTimeout(function(){
setupRoof('roofMrtu', function(){
//console.log('setupRoof');
});
}, 500);
});
}, 0);
});
});
関数が次々と実行されるようにこのように設定しましたが、常に実行されているわけではないようです。
私はこのグローバル変数を持っています:
var AMnamePathObj = {};
簡単にするために、 getPathToUnits() のコードは次のようになります。
function getPathToUnits(callback){
AMnamePathObj = {lookin: "good"};
console.log(AMnamePathObj);
if (callback)
callback();
}
setupRoof() のコードは次のとおりです。
function setupRoof(){
console.log(AMnamePathObj);
if (callback)
callback();
}
しかし、AMnamePathObj がグローバル変数であるにもかかわらず、setupRoof() で console.log を実行すると [object object] を取得しています! AMnamePathObj をグローバル変数として使用したくありませんが、AMnamePathObj の情報を他の関数に渡す方法がわかりません。