使用promise改写mysql语句,走出可恶的回调
This commit is contained in:
parent
ebab715fc0
commit
4da94566f6
|
|
@ -1,12 +1,13 @@
|
||||||
var mysql = require('mysql');
|
var mysql = require('mysql');
|
||||||
var client = mysql.createConnection({
|
var client = mysql.createConnection({
|
||||||
host: '127.0.0.1',
|
host: '127.0.0.1' || '172.24.13.5',
|
||||||
user: 'lcq',
|
user: 'lcq' || 'root',
|
||||||
password: 'fendoubuxi596320',
|
password: 'fendoubuxi596320' || 'root123',
|
||||||
database: 'mybookmarks',
|
database: 'mybookmarks',
|
||||||
multipleStatements: true,
|
multipleStatements: true,
|
||||||
port: 3306
|
port: 3306
|
||||||
});
|
});
|
||||||
|
|
||||||
client.connect();
|
client.connect();
|
||||||
|
|
||||||
var db = {
|
var db = {
|
||||||
|
|
@ -65,4 +66,17 @@ db.updateLastUseTags = function(user_id, tags) {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
db.clickBookmark = function(id){
|
||||||
|
var sql = "UPDATE `bookmarks` SET `click_count`=`click_count`+1, `last_click`=now() WHERE (`id`='" + id + "')";
|
||||||
|
return new Promise(function(resolve, reject) {
|
||||||
|
client.query(sql, (err, result) => {
|
||||||
|
if (err) {
|
||||||
|
reject(err);
|
||||||
|
} else {
|
||||||
|
resolve(id);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
module.exports = db;
|
module.exports = db;
|
||||||
|
|
|
||||||
|
|
@ -6,11 +6,11 @@ var https = require('https');
|
||||||
var cheerio = require('cheerio');
|
var cheerio = require('cheerio');
|
||||||
var request = require('request');
|
var request = require('request');
|
||||||
var iconv = require('iconv-lite');
|
var iconv = require('iconv-lite');
|
||||||
var db = require('./database/db.js');
|
var db = require('../database/db.js');
|
||||||
var client = mysql.createConnection({
|
var client = mysql.createConnection({
|
||||||
host: '127.0.0.1',
|
host: '127.0.0.1' || '172.24.13.5',
|
||||||
user: 'lcq',
|
user: 'lcq' || 'root',
|
||||||
password: 'fendoubuxi596320',
|
password: 'fendoubuxi596320' || 'root123',
|
||||||
database: 'mybookmarks',
|
database: 'mybookmarks',
|
||||||
multipleStatements: true,
|
multipleStatements: true,
|
||||||
port: 3306
|
port: 3306
|
||||||
|
|
@ -18,13 +18,6 @@ var client = mysql.createConnection({
|
||||||
client.connect();
|
client.connect();
|
||||||
|
|
||||||
api.post('/getTitle', function(req, response) {
|
api.post('/getTitle', function(req, response) {
|
||||||
// request
|
|
||||||
// .get('https://www.baidu.com/')
|
|
||||||
// .on('response', function(response) {
|
|
||||||
// console.log(response.statusCode) // 200
|
|
||||||
// console.log(response.headers) // 'image/png'
|
|
||||||
// })
|
|
||||||
|
|
||||||
var params = req.body.params;
|
var params = req.body.params;
|
||||||
var url = params.url;
|
var url = params.url;
|
||||||
|
|
||||||
|
|
@ -64,22 +57,6 @@ api.post('/getTitle', function(req, response) {
|
||||||
title: title || '',
|
title: title || '',
|
||||||
});
|
});
|
||||||
})
|
})
|
||||||
|
|
||||||
// var httpGet = url.indexOf("https") >= 0 ? https : http;
|
|
||||||
// httpGet.get(url, function(res) {
|
|
||||||
// var html = '';
|
|
||||||
// res.on('data', function(data) {
|
|
||||||
// html += data;
|
|
||||||
// });
|
|
||||||
// res.on('end', function() {
|
|
||||||
// var $ = cheerio.load(html);
|
|
||||||
// var title = $("title").text();
|
|
||||||
// console.log(title, response.headers['content-type']);
|
|
||||||
// response.json({
|
|
||||||
// title: title || '',
|
|
||||||
// });
|
|
||||||
// });
|
|
||||||
// });
|
|
||||||
})
|
})
|
||||||
|
|
||||||
api.post('/logout', function(req, res) {
|
api.post('/logout', function(req, res) {
|
||||||
|
|
@ -267,55 +244,11 @@ api.post('/addBookmark', function(req, res) {
|
||||||
var params = req.body.params;
|
var params = req.body.params;
|
||||||
var user_id = '1';
|
var user_id = '1';
|
||||||
var tags = params.tags;
|
var tags = params.tags;
|
||||||
var sql = "INSERT INTO `bookmarks` (`user_id`, `title`, `description`, `url`, `public`, `click_count`) VALUES ('" + user_id + "', '" + params.title + "', '" + params.description + "', '" + params.url + "', '" + params.public + "', '1')";
|
db.insertBookmark(user_id, params) // 插入书签
|
||||||
console.log(sql);
|
.then((bookmark_id) => db.insertTagsBookmarks(tags, bookmark_id)) // 插入分类
|
||||||
client.query(sql, function(err, result) {
|
.then(() => db.updateLastUseTags(user_id, tags)) // 更新最新使用的分类
|
||||||
if (err) throw err;
|
.then(() => res.json({})) // 运气不错
|
||||||
var insertId = result.insertId;
|
.catch(() => console.log('fail')); // ops!
|
||||||
|
|
||||||
sql = "INSERT INTO `tags_bookmarks` (`tag_id`, `bookmark_id`) VALUES";
|
|
||||||
for (var i = 0; i < tags.length; i++) {
|
|
||||||
if (i >= 1) {
|
|
||||||
sql += ','
|
|
||||||
}
|
|
||||||
sql += "('" + tags[i] + "', '" + insertId + "')";
|
|
||||||
}
|
|
||||||
client.query(sql, function(error, result, fields) {
|
|
||||||
if (error) {
|
|
||||||
res.json({
|
|
||||||
error: 'error tags'
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
sql = "UPDATE tags SET last_use = NOW() WHERE user_id = '" + user_id + "' AND id in (";
|
|
||||||
for (var i = 0; i < tags.length; i++) {
|
|
||||||
if (i >= 1) {
|
|
||||||
sql += ','
|
|
||||||
}
|
|
||||||
sql += "'" + tags[i] + "'";
|
|
||||||
}
|
|
||||||
sql += ')'
|
|
||||||
console.log(sql);
|
|
||||||
client.query(sql, function(error, result1, fields) {
|
|
||||||
if (error) {
|
|
||||||
res.json({
|
|
||||||
error: 'error tags'
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
res.json({
|
|
||||||
hello: 'success'
|
|
||||||
});
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
console.log(result.insertId);
|
|
||||||
});
|
|
||||||
|
|
||||||
// res.json({
|
|
||||||
// a: 'i love this world, too!'
|
|
||||||
// });
|
|
||||||
});
|
});
|
||||||
|
|
||||||
api.post('/addTags', function(req, res) {
|
api.post('/addTags', function(req, res) {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue