背景: 我被委派帮助解决以下错误问题:
'Promise' is undefined'
这是我们sessionsmodel.js脚本的一部分:
return Promise.all(promises);
promises
是一个包含需要执行的动作的数组,如果任何一个动作失败了,它就会被拒绝。
问题:根据我的研究,IE不支持Promise
,那么是否有一种解决方法可以应用到这个返回值中,以达到相同的效果?
背景: 我被委派帮助解决以下错误问题:
'Promise' is undefined'
这是我们sessionsmodel.js脚本的一部分:
return Promise.all(promises);
promises
是一个包含需要执行的动作的数组,如果任何一个动作失败了,它就会被拒绝。
问题:根据我的研究,IE不支持Promise
,那么是否有一种解决方法可以应用到这个返回值中,以达到相同的效果?
由于您正在使用Backbone,所以承诺可能是jQuery承诺。您可以使用jQuery的.when
函数来执行与Promise.all
相同的操作:
return $.when.apply($, promises);
对于大多数其他简单情况,您可以通过使用提供的回调函数完全避免使用 promises 来调用诸如 save
和 fetch
等函数:
model.save({
context: this,
success: this.onModelSuccess
});
不需要使用另一个库,因为Backbone已经默认使用了jQuery
,除非您不喜欢jQuery deferred或者您正在使用其他替代jQuery的东西。