[英]Angular return value from one ts to another
In my angular project, I have two ts files as below: 在我的角度项目中,我有两个ts文件,如下所示:
Data.ts 数据
import { Injectable } from '@angular/core';
import { MyStorage } from '../storage';
@Injectable()
export class itemFromStorage {
constructor(public storage: Storage) {
}
GetItemDataFromStorage(current){
this.storage.get(current).then((val) => {
return val; //????
});
};
}
Main.ts 维护
import { itemFromStorage } from '../data'
export class item_thumb {
constructor(public itemStorage: itemFromStorage) {
};
fetchThumbData(){
var data = this.itemStorage.GetItemDataFromStorage(this.dataNumber);
console.log(data);//????
}
}
From the data.ts
, how do I return the data value to main.ts
? 从
data.ts
,如何将数据值返回到main.ts
?
your data.ts method should return only the request itself, without subscribing to it: 您的data.ts方法应仅返回请求本身,而不订阅该请求:
GetItemDataFromStorage(current){
return this.storage.get(current);
};
and in your main.ts method subscribe and receive the data: 并在您的main.ts方法中订阅并接收数据:
fetchThumbData(){
var data = this.itemStorage.GetItemDataFromStorage(this.dataNumber).then((data) => {
console.log(data);//????
});
}
Most likely your Data.ts is returning a promise. 您的Data.ts很可能正在返回承诺。
Main.ts 维护
export class item_thumb {
constructor(public itemStorage: itemFromStorage) {
};
fetchThumbData(){
let promise = this.itemStorage.GetItemDataFromStorage(this.dataNumber);
promise.then(data => console.log(data));
}
}
To get the value synchronously: Get the value of a Javascript Promise in a synchronous way 同步获取值: 以同步方式获取Javascript Promise的值
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.