electron 中使用async await

首先需要电子版本大于v1.8.4,节点7/8已经支持async / await

cmd里面输入electron -v可以查看

具体用法:

async function  test()
{  
    / * var response = await new Promise((resolve,reject)=> //这种是简略写法,本人认为最好不要这样写
    {  
        / *  
                    例如,这里放入异步函数比如 ipc.on
            发送多个参数,在可以发送的时候组成数组或对象或者在ipc.on里面组成
                * /  
        ipc.on('test',(event,arg)=>  
        {  
            //返回数据,err返回reject  
            resolve(arg); 
        })
    })* /  
    //获取第一个数据
    var response = await get_info(); //这样看起来更清楚
    await send_info(); //这里没有需要返回的数据了,如果有可以继续
}  
function get_info()
{  
    return new Promise((resolve,reject)=>  
    {  
        / * 
                    这里放入异步函数,例如//比如ipc.on返回多个参数,在可以发送的时候组成
            数组或对象或者在ipc.on里面组成
                * /  
        ipc.on('test',(event,arg)=>  
        {  
            //resolve数据,reject返回ERR,
            resolve(arg); 
        })
    })
}  
function send_inforesponse)
{  
        return new Promise((resolve,reject)=>  
    {  
        ipc.on('TEST1',(event,arg)=>  
        {  
            //在这里可以做逻辑处理,这样就将2个异步函数的数据组合在一起了,然后ipc.send  
            ipc.send('TEST2',arg,response); 
        })
    })
}  
//这里调用就可以,不需要管调用顺序,当接受异步,自动调用
test();

猜你喜欢

转载自blog.csdn.net/chenzhigaoa/article/details/80284557