У меня есть служба для получения текущего пользователя, и она возвращается правильно, когда я возвращаю жесткий код, но я не могу заставить его возвращать данные из вызова ajax.Свойство обслуживания Ember с данными обещания
export default Ember.Service.extend({
currentUser: Ember.computed(function() {
Ember.$.ajax({
url: "http://localhost:8000/v1/me/"
}).then(function(data){
console.log(data);
return data;
},
function(err){
console.log(err);
});
}),
});
Я знаю, что данные возвращаются правильно, в соответствии с console.log
в обещании.
Когда я использую эту службу в контроллере, она ничего не возвращает для currentUser, однако я знаю, что все правильно подключено, потому что, если я заменяю Ember.Object in для запроса ajax, он возвращает этот объект в контроллер ,
Должен ли я сделать что-то особенное с свойством, которое содержит запрос ajax, чтобы использовать возвращаемые данные в контроллере?
'Ember. $. Ajax' возвращает обещание« ajax », а не обещание Обещания/A +, поэтому у вас будут проблемы. Вы также фактически не возвращаете вызов 'Ember. $. Ajax', поэтому возвращаемое значение метода не определено. Кроме того, вам может потребоваться переносить вызов в ObjectProxy. – locks