1.回调函数
2.promise
3.rxjs
1.回调函数
代码例子:
getCallBack(back){
setTimeout(() => {
var username:any="张三";
back(username);
}, 1000);
}
2.promise
getPromiseData(){
return new Promise((resolve,reject)=>{
setTimeout(() => {
var userName = "李四";
resolve(userName);
}, 1000);
})
}
获取:
getPro(){
let str = this.method.getPromiseData();
str.then((data)=>{
console.log(data);
})
}
3.rxjs
导入:import { Observable} from 'rxjs';
getRxjs(){
//导入配置
return new Observable((observe)=>{
setTimeout(() => {
var str:any="王五";
observe.next(str);
//失败
//observe.error();
}, 1000);
})
}
subscribe()方法获得
getRxijData(){
var str = this.method.getRxjs();
var d= str.subscribe((value)=>{
console.log(value);
})
//撤销
// setTimeout(() => {
// d.unsubscribe();
// }, 4000);
}
*多次获取setInterval()
getNumbers(){
//导入配置
let count=0;
return new Observable((observe)=>{
setInterval(() => {
var str:any="赵六"+count;
observe.next(str);
//失败
//observe.error();
count++;
}, 1000);
})
}
map,filter
getFilterMap(){
let count:any=0;
return new Observable((observe)=>{
setInterval(()=>{
observe.next(count);
count++;
},1000);
})
}
getMapFilter(){
this.method.getFilterMap().pipe(
filter((value:any)=>{
if(value%2==0){
return value;
}
}),
map((value:any)=>{
return value*value;
})
).subscribe((data:any)=>{
console.log(data)
})
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。