Я не js гуру, но потребовалось кое что на коленке пильнуть на electronjs, так вот, в основном всюду использую promise и then для цепочек типа
let search = new Promise((resolve, reject) => {
Search.get_search_results_html('test')
.then(result => {
return result
})
.then(result => {
return Search.get_videos(result)
})
.then(videos => {
data = Search.get_video_attrs(videos)
})
$('body').load('./templates/list.html')
$('.playlist').tmpl('track', tracks);