在没有采取任何行动时我应该解决还是拒绝?

时间:2017-03-01 03:26:51

标签: javascript promise es6-promise

在我的一个应用程序中,我有一个返回Promise()的函数,由于此操作需要更新API,我正在检查最后一个函数调用是否要求发送相同的信息:

module.exports = function updateSidebar(sidebar) {
  return new Promise(function(resolve, reject) {
    if (sidebar === lastSidebar) {
        // What to I do here?
    } else {
        // Application Logic
    }
  });
}

在这种情况下,我会reject() Promise()给我“无效”数据,还是我resolve()暗示行动已成功完成? (它有,只是更早)

非常欢迎任何建议!

1 个答案:

答案 0 :(得分:1)

如果您已经拥有所需的结果,那么只需resolve(result)。这完全正常,除非你认为这是一个错误(在这种情况下你会拒绝),那么你应该解决一些成功的结果。

module.exports = function updateSidebar(sidebar) {
  return new Promise(function(resolve, reject) {
    if (sidebar === lastSidebar) {
        resolve(someSuccessfulResult);
    } else {
        // Application Logic
    }
  });
}