下面是代碼示例。這是爲插件面板。Ember RSVP Promise for firefox addon port messaging scheme解決不了的模型
路由器承諾不會從全局列表器內部解析,儘管它可以與普通的ajax請求一起工作。
import Ember from 'ember';
export default Ember.Route.extend({
model: function() {
return new Ember.RSVP.Promise(function(resolve, reject) {
// This works
Ember.$.ajax({
url : "http://bla.com"
type: "POST"
}).then(function(response){
resolve(response);;
});
// This doesn't work
addon.port.on(url, function(status, response) {
resolve(response);
})
});
});
我在某處讀了這個可以用Ember.run.bind處理但無法讓它工作。
它是否適用於不是來自Ember的異步函數(例如,本機XHR或'setTimeout)'? – Bergi
可能不是。 來自http://stackoverflow.com/questions/20602692/ember-return-a-promise-from-beforemodel-not-working-with-qunit和http://stackoverflow.com/questions/22685055/rsvp-handling-超時與承諾 – Ritvick