代码正在对所需部分进行promise,但是我对单个函数链,工作和返回对象很满意。例子就像...
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();
});
...
},
我想请问一些不好的概念。谢谢!