javascript - 节点sequelize回调承诺需要一个函数,是否有一个使用函数调用移除声明函数的方法

  显示原文与译文双语对照的内容

我的节点sequelize库出现问题。 当使用如下所示的成功承诺时:


for (index = 0; index <models.length; index++) {
 model = models[index];
 model.drop().success(function() {
 dropTableCompleteCheck();
 });
}

JSHint抱怨并正确强调了代码问题"不在循环内生成函数"。 为了克服这一问题,我尝试用以下方法替换 上面 代码:


for (index = 0; index <models.length; index++) {
 model = models[index];
 model.drop().success(dropTableCompleteCheck());
}

这将删除JSHint问题,但现在节点sequelize正在引发以下未捕获的异常:


error: Uncaught application error:
 TypeError: listener must be a function

我试图在成功保证回调上调用函数,并同时删除JSHint问题。 是否还有另一种方法可以做到这两种情况,我会很高兴的。

感谢你们抽空到来

时间: 原作者:

省略括号:


for (index = 0; index <models.length; index++) {
 model = models[index];
//don't _invoke_ dropTableCompleteCheck, just _reference_ it
 model.drop().success(dropTableCompleteCheck);
}

原作者:
...