使用Promise与不使用Promise的代码风格区别

2020-03-17  本文已影响0人  HonmaMeiko__
// 没有promise时的写法
app.redis.get('key',(val)=>{
     app.model.query('SELECT id FROM DB',(id)=>{
        app.model.query('INSERT INTO DB(column) VALUES(?) WHERE id = ?',val,id,(result)=>{
               ctx.logger.info(result)
          })
     })
})

// 有promise时的写法
const p = new Promise(resolve => {
    app.redis.get('key').then(result => {
        resolve(result)
    })
}).then(result => {
    const key = result
    return new Promise(resolve => {
        app.model.query('SELECT id FROM DB').then(id => {
            resolve({key,id})
        })
    })
}).then(result => {
    const { key,id } = result
    return new Promise(resolve=> {
        app.model.query('INSERT INTO DB(column) VALUES(?) WHERE id = ?',key,id).then(msg => {
            ctx.logger.info(msg)
        })
    })
})
上一篇下一篇

猜你喜欢

热点阅读