我试图在Angular 2文档中遵循一个简单的模式,但是执行函数时遇到了困难。
我正在使用的示例是here(app / toh / hero.service.ts(基于可观察的)文件):
extractData
我需要在extraData
函数之后存储一个令牌,但不要认为我正在调用它。当我把它放在 private extractData(res: Response) {
let body = res.json();
if (body.response.user) {
return this.storeToken;
}
}
// want to call this function, but i'm doing something wrong
private storeToken(res: Response ) {
let resp = res;
console.log("resp", resp);
this.userId = resp.user.id;
this.token = resp.user.authentication_token;
localStorage.setItem('userId', this.userId);
localStorage.setItem('token', this.token);
return Rx.Observable.of('token', 'userId');
}
private handleError (error: any) {
// In a real world app, we might use a remote logging infrastructure
// We'd also dig deeper into the error to get a better message
let errMsg = (error.message) ? error.message :
error.status ? `${error.status} - ${error.statusText}` : 'Server error';
console.error(errMsg); // log to console instead
return Rx.Observable.throw(errMsg);
}
函数中时,我得到它的工作,但我希望它可以自己工作:
return this.storeToken
我不确定是否有任何数据传递到(res: Response)
函数,我不知道如何在storeToken运算符private extractData(res: Response) {
let body = res.json();
if (body.response.user) {
this.userId = body.response.user.id;
this.token = body.response.user.authentication_token;
console.log("id:", this.userId);
console.log("token:", this.token);
localStorage.setItem('userId', this.userId);
localStorage.setItem('token', this.token);
return Rx.Observable.of('token', 'userId');
}
}
中调用它。
我觉得这是非常基本的,但我已经挂了它,所以任何帮助都非常感谢!谢谢!
修改 这个功能有效,但我想分成两部分:
XIEventMask masks[1];
unsigned char mask[(XI_LASTEVENT + 7)/8];
memset(mask, 0, sizeof(mask));
XISetMask(mask, XI_RawMotion);
XISetMask(mask, XI_RawButtonPress);
XISetMask(mask, XI_RawKeyPress);
masks[0].deviceid = XIAllMasterDevices;
masks[0].mask_len = sizeof(mask);
masks[0].mask = mask;
XISelectEvents(display, DefaultRootWindow(display), masks, 1);
XFlush(display);
编辑2: 阅读订阅和观察。
答案 0 :(得分:0)
您似乎需要返回@media screen and (max-width: 600px) {
#div1 {
display: none;
}
}
方法的调用而不是其签名?
而不是
.extractData
试试这个
private extractData(res: Response) {
let body = res.json();
if (body.response.user) {
return this.storeToken;
}
}