【发布时间】:2014-08-10 18:57:29
【问题描述】:
我不得不调用一个带有两个参数的方法,但我只使用了第二个。我的代码如下所示:
function trapEvent(resolve, reject) {
event_callback = function (evt) {
evt.stopPropagation();
if (allowDefault !== true) {
evt.preventDefault();
}
cancelResolver();
callback_promise = new Promise()
.cancellable()
.then(function () {
return callback(evt);
})
.then(null, function (error) {
if (!(error instanceof Promise.CancellationError)) {
canceller();
reject(error);
}
});
};
util.startListenTo(target, type, event_callback, useCapture);
}
return new Promise(trapEvent, canceller);
由于我将我的事件“锁定”在一个只能被拒绝或取消的承诺中,因此我从不使用 JSlint 理所当然地抱怨的 resolve 方法。但是根据MDN es6 Promise spec,我需要在Promise回调方法中同时提供resolve和reject。
问题:
如何在保留resolve 的同时使此方法通过?
【问题讨论】:
-
当你以这种方式引用函数时,你必须按照你的方式使用这两个参数,这没有什么问题,只需忽略 jslint。
-
嗯。还有其他方法吗?
-
可以声明为全局变量
-
我刚用谷歌搜索了一下,马上就找到了答案。
-
@cookiemonster - 那为什么不发布呢?
标签: javascript methods parameters promise jslint