Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 对象t中的离子函数返回值和_区域_符号_值中存储的值:_Javascript_Angular_Typescript_Ionic Framework - Fatal编程技术网

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;})此代码是有帮助的。