如何调用JavaScript promise清理器?

时间:2014-10-09 21:59:52

标签: javascript promise

我有以下对Javascript承诺的调用:

deleteDatabase().then(function () {
    doSomeStuff();
}, function (err) {
    processError(err);
});

它工作正常,但它看起来很罗嗦。有没有办法有一个更简洁的方法来做到这一点?也许这样的事情(似乎不起作用):

deleteDatabase().then(doSomeStuff(), processError(err));

2 个答案:

答案 0 :(得分:3)

您需要传递函数,而不是调用它们的结果:

deleteDatabase().then(doSomeStuff, processError);

当然,这会将deleteDatabase()操作的结果传递给您的doSomeStuff函数,因此如果您希望它没有参数,则需要像使用函数一样使用函数表达式。 / p>

答案 1 :(得分:1)

语法

有问题

deleteDatabase().then(doSomeStuff, processError);

如果你将()放在函数名后面,它会立即调用它,省略括号,你传递对函数的引用,并要求稍后在promise中调用它。 / p>