异步数据 的处理
1 回调函数处理
在调用异步函数的地方 给异步函数 传递一个参数
参数是一个获取异步函数内数据的函数 给异步函数定义一个参数接收这个函数,
如果此时异步函数已经获得数据 ,就会在异步函数内 调用这个函数并传给它数据。
这个获取数据的函数也定义了一个接收异步函数内数据的参数
此时就可以 回调函数内部处理这个值 ,
参数可以多个 ,如果需要 别的数据 和 异步数据交互 可以在 传递 别的数据在 回调函数后面 设置一个参数
Message = 'do with data'; //定义的交互数据
//方法内传递了两个参数 一个是回调函数 一个是交互的数据 getManyMes() { this.CallbackService.getManyPathData(function getData(data) { console.log('回调函数内的打印' + data); // 处理异步数据 // 这里是回调函数 内部 接收不到Message 无法交互; }, this.Message); //传递交互数据 }
//异步函数 接收两个参数 一个是 回调函数 一个是交互数据 getManyPathData(callback, data) { setTimeout(() => { var name = '张三'; // return name;无效 // 此时callback === function getData(data) { // console.log(data); // } console.log('异步函数内的打印' + data); console.log('异步函数内的打印---交互数据' + data + '--与--' + '异步数据' + name + '交互'); callback(name); }, 1000); }
新手一枚 如果讲解有所差异 请大佬指点
环境是 Angular 8
异步函数 是定义在server/callback.ts
在某个组件的 component.ts 逻辑文件 调用