Horizon/Ionic2 return 一个值
Horizon/Ionic2 return a value
我想 return 使用 Horizon 来自 Rethinkdb 的值:
ionViewLoaded() {
let exampleValue;
exampleValue = this.getValue();
console.log(exampleValue); // gives me "undefined"
}
getValue() {
let hz = new Horizon({host: "localhost:3100"});
hz.connect();
let table = hz('values');
table.find(1).fetch().subscribe((val) => {
return val;
});
}
我需要这个函数外的值然后我想写简单的 if/else 语句(如果我在查询中这样做然后我得到奇怪的错误 - 视图重新加载超过 200 次...)。反正有return这个值吗?
每当您从数据库或 api 中检索某些内容时,您都应该使用此服务。这就是它的用途。
继续您的问题,在这种情况下 exampleValue
未定义,因为 getValue
不等待订阅在 table.find(1).fetch()
中触发,因此 return未定义。
您可以做的是,return observable 并在您的 ionViewLoaded
中订阅它,或者在 getValue
中创建一个 Promise
。
我将演示选项 #1。
ionViewLoaded() {
this.getValue().subscribe((exampleValue) => {
console.log(exampleValue);
});
}
getValue() {
let hz = new Horizon({host: "localhost:3100"});
hz.connect();
let table = hz('values');
return table.find(1).fetch();
}
我想 return 使用 Horizon 来自 Rethinkdb 的值:
ionViewLoaded() {
let exampleValue;
exampleValue = this.getValue();
console.log(exampleValue); // gives me "undefined"
}
getValue() {
let hz = new Horizon({host: "localhost:3100"});
hz.connect();
let table = hz('values');
table.find(1).fetch().subscribe((val) => {
return val;
});
}
我需要这个函数外的值然后我想写简单的 if/else 语句(如果我在查询中这样做然后我得到奇怪的错误 - 视图重新加载超过 200 次...)。反正有return这个值吗?
每当您从数据库或 api 中检索某些内容时,您都应该使用此服务。这就是它的用途。
继续您的问题,在这种情况下 exampleValue
未定义,因为 getValue
不等待订阅在 table.find(1).fetch()
中触发,因此 return未定义。
您可以做的是,return observable 并在您的 ionViewLoaded
中订阅它,或者在 getValue
中创建一个 Promise
。
我将演示选项 #1。
ionViewLoaded() {
this.getValue().subscribe((exampleValue) => {
console.log(exampleValue);
});
}
getValue() {
let hz = new Horizon({host: "localhost:3100"});
hz.connect();
let table = hz('values');
return table.find(1).fetch();
}