I'm not sure it will solve your problem, but we are faced with differences in Es6 promises and jQuery promises, so we will convert all jQuery promises to Es6 by default using the following initializer. We also convert other "thennables" using the when method below:
import Ember from 'ember'; function initialize() { var $ajax = Ember.$.ajax; Ember.RSVP.when = function(promise, label) { return new Ember.RSVP.Promise(promise.then.bind(promise), label); }; return Ember.$.ajax = function() { return Ember.RSVP.when($ajax.apply(Ember.$, arguments), '$.ajax'); }; }; var PromiseAdapterInitializer = { name: 'promise-adapter', initialize: initialize }; export {initialize}; export default PromiseAdapterInitializer;
import Ember from 'ember'; function initialize() { var $ajax = Ember.$.ajax; Ember.RSVP.when = function(promise, label) { return new Ember.RSVP.Promise(promise.then.bind(promise), label); }; return Ember.$.ajax = function() { return Ember.RSVP.when($ajax.apply(Ember.$, arguments), '$.ajax'); }; }; var PromiseAdapterInitializer = { name: 'promise-adapter', initialize: initialize }; export {initialize}; export default PromiseAdapterInitializer;
Roman
source share