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_张三