Blondinka, а что мешает повесить функцию, которая находится в глобальной области видимости? При правильном подходе тут никакие promise не нужны.
function getJSONData(jsonFile) {
	//Работаем с данными
	libApp.displayBooksList();
};
var libApp = {
	getData: function() {
		$.getJSON('authors.json', getJSONData);
	},
	displayBooksList: function() {
		libApp.getData();
		alert(jsonFile[4].name);
	}
};
Да и вообще, такие вещи нужно делать "классом".