我试图存储一些数据登录后店内。下面是我的torii-adapter的代码“这”是未定义的torii适配器在余烬
import Ember from 'ember';
import {createToken} from 'myapp/utils/app-utils';
export default Ember.Object.extend({
store: Ember.inject.service(),
open: function(authentication){
let authorizationCode = authentication.authorizationCode;
let token = createToken();
return new Ember.RSVP.Promise(function(resolve, reject){
console.log(authentication);
Ember.$.ajax({
url: 'http://localhost/getUserInfoWuthAuthCode.php',
data: { 'code': authorizationCode,token:token},
success: Ember.run.bind(null, resolve),
error: Ember.run.bind(null, reject)
});
}).then(function(data){
let user = data.user[0];
this.set('storage.token',token); //this is undefined
return {
user: user
};
});
}
});
我得到的错误是“TypeError:Can not read property'set'of undefined”。 我正在注入商店服务。你能告诉我这里究竟发生了什么问题吗?
因为你在'ember-cli'我建议你使用箭头函数,这不会覆盖你的'this'上下文。我建议你告诉你自己JS的工作方式,以及为什么我们有箭头功能。另外,您不必手动创建第一个承诺,只需返回'Ember。$。ajax'的结果并使用'Ember.RSVP.resolve()'。 – Lux