回调未在 javascript 中执行

Callback not executing in javascript

我写了一个应该执行回调的方法,但回调没有被执行:

buildTable('lt', 'viewltDetails', commonTireColumns, function(error) {
if(error) {
    console.log(error);
} else {
    console.log('calculating');
    calculatedPricing();
}
});

我的 buildTable 函数 - 它实际上使用 aldeed-tabular 包创建了一个数据表:

function buildTable(tblName, detailsBtn, columnDetails) {
var columns = [];
for(var key in columnDetails) {
      columns.push({
        data: columnDetails[key].data, 
        title: columnDetails[key].title, 
        width: columnDetails[key].width
      });
    };
columns.push({
    title: "Quantity",
    tmpl: Meteor.isClient && Template.itemQuantityCell,
    width: "2%"
});
columns.push({
    title: "Details",
    tmpl: Meteor.isClient && Template[detailsBtn],
});
columns.push({
    title: "Action",
    tmpl: Meteor.isClient && Template.addToCartCell,
});

TabularTables[tblName] = new Tabular.Table({
    name: tblName,
    changeSelector: function(selector, userId) {
        return selector;
    },
    collection: Products,
    pub: "tabular_Products",
    columns: columns,
    extraFields: ['priceFET', 'invoicePrice', 'category']
})
};

buildTable 函数工作正常,但它没有执行 console.log('calculating')calculatePricing() 命令,尽管该函数没有抛出任何错误。

我的 calculatePricing 函数如下所示:

calculatedPricing: function() {
    var price = 300;
    return price;
};

有人可以帮忙吗?谢谢!!

您需要为 buildTable 函数的回调添加一个参数

变化:

function buildTable(tblName, detailsBtn, columnDetails) {

至:

function buildTable(tblName, detailsBtn, columnDetails, callback) {

然后,调用它:

callback(someError);

请这样尝试。 你添加了一个回调函数,但你没有在参数中使用它,所以你永远不会在你的函数中调用它。

 function buildTable(tblName, detailsBtn, columnDetails, callback) {
         //your code here
         if(typeof callback === "function"){
           callback();
         }
    }