Код работает с обещаниями необходимых частей, но у меня есть чувак в цепочке отдельных функций, работающих и возвращаемых объектов.Пример подобен ...
tableInit: function() {
this.$wrap = $('#'+ this.options.baseId +'Wrap');
this.$table = this.tableBuild();
this.$wrap.append(this.$table);
this.loadResults();
},
tableBuild: function () {
var $table = $('<table>');
$table.append(this.tableHeadBuild());
return $table;
},
tableHeadBuild: function () {
var self = this;
var $thead = $('<thead>').addClass('thead-light');
var $row = $('<tr>');
$row.append('<th>');
$.each(self.options.columns.active, function(key, params){
var $cell = $('<th>');
$cell.attr('id',params.id).text(params.lang);
$row.append($cell);
});
$thead.append($row);
return $thead;
},
Должны ли таблицы tableBuild и tableHeadBuild быть обещаны для обеспечения хорошей линейной работы?Когда на самом деле нам нужны обещания?(в асинхронных вызовах ajax наверняка)
tableInit: function() {
...
this.tableBuild().then(function(table){
self.$wrap.append(this.$table);
self.loadResults();
});
...
},
//or like...
tableInit: function() {
...
this.$table = this.tableBuild()
this.$table.promise().done(function(){
self.$wrap.append(this.$table);
self.loadResults();
});
...
},
Я думаю, у меня есть плохие понятия, пожалуйста, несколько советов.Спасибо!