Javascript 对象t中的离子函数返回值和_区域_符号_值中存储的值:
在以下代码中,我想返回值,但它返回对象: 代码:Javascript 对象t中的离子函数返回值和_区域_符号_值中存储的值:,javascript,angular,typescript,ionic-framework,Javascript,Angular,Typescript,Ionic Framework,在以下代码中,我想返回值,但它返回对象: 代码: console.log(count(id)); count(id,url){ return new Promise(resolve => this.http.get(url) .map(res => res.json()) .subscribe(data => { console.log(data.count);// it shows 3 and is
console.log(count(id));
count(id,url){
return new Promise(resolve =>
this.http.get(url)
.map(res => res.json())
.subscribe(data => {
console.log(data.count);// it shows 3 and is correct
resolve(data.count);
}));
}
console.log的输出(计数(id))代码>是:
{__zone_symbol__state: null, __zone_symbol__value: Array(0)}
__zone_symbol__state:true
__zone_symbol__value:3
是表示操作最终完成或失败的对象
它不会立即返回函数的值,而是在调用resolve
时返回值
在下面的例子中:
function wait(ms) {
return new Promise((resolve) => {
setTimeout(() => resolve(100), ms);
});
}
如果执行console.log(等待(1000))
它将记录函数返回的对象承诺
。要获得所需的值,您必须等待承诺执行,您可以通过两种方式执行:
现代JavaScript(async/await
)
使用然后
wait(1000).then((result) => console.log(result));
另见
A是表示操作最终完成或失败的对象
它不会立即返回函数的值,而是在调用resolve
时返回值
在下面的例子中:
function wait(ms) {
return new Promise((resolve) => {
setTimeout(() => resolve(100), ms);
});
}
如果执行console.log(等待(1000))
它将记录函数返回的对象承诺
。要获得所需的值,您必须等待承诺执行,您可以通过两种方式执行:
现代JavaScript(async/await
)
使用然后
wait(1000).then((result) => console.log(result));
另见
您无法返回尚未提取的值。按价值返还承诺是可以的。@Bergi谢谢。你能给我多指点路吗?我现在该怎么办?只需将其命名为count(id)。然后(console.log)
。实现正在工作。无法返回尚未获取的值。按价值返还承诺是可以的。@Bergi谢谢。你能给我多指点路吗?我现在该怎么办?只需将其命名为count(id)。然后(console.log)
。实现正在工作。count(post.id)。然后(count=>{this.count=count;})代码>这段代码很有用。count(post.id)。然后(count=>{this.count=count;})代码>此代码是有帮助的。