鍍金池/ 問答/數(shù)據(jù)庫  HTML/ node.js koa登錄接口mysql查詢 promise返回數(shù)據(jù)

node.js koa登錄接口mysql查詢 promise返回數(shù)據(jù)

圖片描述

node.js mysql登錄接口,代碼已經(jīng)跑通了。但是我總覺得我的resolve用法很尷尬。感覺promise對象不是這樣用。。。求大神請教?。?!

回答
編輯回答
失魂人

不尷尬啊,在Koa2要順序執(zhí)行就是需要把回調(diào)方式的函數(shù)用Promise封裝的.
_
或許你在Promise中把結(jié)果reslove出來再處理會好些。
我是這樣處理的:

function evalSimpleSql(sqlStr) {
  return new Promise((resolve, reject) => {
    pool.query(sqlStr, function (error, results) {
      if (error) reject(error);
      else {
        resolve(results);
      }
    });
  });
}

簡單的sql語句就傳入evalSimpleSql執(zhí)行..
一些回調(diào)形式改寫成Promise形式的包,本質(zhì)也是這樣

2018年4月18日 04:55
編輯回答
醉淸風(fēng)

如果是node版本>8.0,那么可以這樣:

1、將query轉(zhuǎn)成promise

var query = util.promisify(pool.query);

2、愉快地await

var result = await query('你的sql語句');
2018年5月8日 14:14