【发布时间】:2016-11-24 04:43:11
【问题描述】:
我要管理一个使用 Backbone.js 制作的项目。该项目于 2013 年首次发布。目前我试图弄清楚他们之前做了什么。
我发现他们经常使用Promise.js libery 来与 ReST-Server 通信,就像下面的示例一样
run: function () {
if (this.initialAppViewMethod) {
Promise.resolve(this.model.get('session').fetch())
.catch(this.showLoginView.bind(this))
.then(this.initMainView.bind(this));
}
},
我一直想知道他们使用 Promise.js 而不是已经使用的 jquery.js liberay 来做承诺是否有某种原因?
顺便说一句:如何将此脚本转换为使用纯 jQuery 功能?
【问题讨论】:
-
因为 jQuery 的“承诺”是 not pure?
-
所以如果我理解这一点是正确的,只要我使用 jQuery
-
@FelixFaltin 仅当您使用需要兼容承诺的代码时。否则,没有任何理由。
-
嗯,jQuery 3 确实修复了 一些 问题,但使用简单的 Promise 仍然更容易。
-
@EmileBergeron 不,只要
fetch(…).catch(…)满足,就会调用initMainView。另见the question我在上面链接,也许this
标签: javascript jquery backbone.js promise