乐趣区

初级理解async实现之我见

在我们写项目代码的过程中,要经常请求接口数据,
在某些异步请求数据之后,将得到的值进行处理。
通俗的一句话就是,我要把这个值放到另一个函数中,按行数顺序处理,即同步的概念!


例子:第一步,涉及异步函数

假设我有一个函数 abc,

function abc(){
    // 异步方法,请求数据得到 result
    return result
}

第二步,没加入之前的处理

我在另一个函数中拿到上面 result 值进行下一步处理:

function xxx(){
    let data;
    let val;
    
    // 调用上面函数
    let val = abc()
    
    data = val;
}

xxx()

这样写因为 abc 函数里面涉及到了异步,所以 data 的值可能不是 result 的值,
可是我们要取到 result 的值进行处理,怎么办?


第三步, 加入 async

加入 async await

async function xxx(){
    let data;
    let val;
    
    // 调用上面函数
    let val = await abc()
    
    data = val;
}

ok,完美解决!这就是通俗的同步。
感谢大家的支持!

退出移动版