Angular7_异步函数

1.回调函数

  getName() {
    return '张三';
  }
  getAsyncName() {
    setTimeout(() => {
      return 'async_张三';
    }, 1000);
  }

  这是我们定义好的两个函数,当调用这两个函数的时候,因为setTimeout是异步的,所以并不能正常返回值,补全返回类型可以使我们更加直观的看出效果。

  getName(): string 
  getAsyncName(): void 
  console.log(this.getName());   //输出:张三
  console.log(this.getAsyncName());   //输出:undefined

  这时候,要获取返回值,就需要使用回调函数,将getAsyncName()修改成

  getAsyncName(back) {
    setTimeout(() => {
      back('async_张三');
    }, 1000);
  }

  调用

this.getAsyncName((data) => {
      console.log(data);
    });

成功输出:
async_张三
 

猜你喜欢

转载自www.cnblogs.com/wskxy/p/10383841.html