我有一个回调代码,并且可以正常工作。但是我需要了解诺言如何运作。 有人可以帮助我将这段回调代码转变为一个承诺吗?
我尝试了很多互联网教学,但是很难理解我如何使用诺言。
const mysql = require('mysql')
const connConfig = require('./dbConfig')
const connection = mysql.createConnection(connConfig.config.default)
const start = (query, arrayReturned) => {
searchMenu(query, createArrayMenu,(options)=>{
arrayReturned(options)
})
}
const createArrayMenu = (row)=>{
const options = []
for (let index = 0; index < row.length; index++) {
options[index] = [row[index].id_main_option,row[index].ds_main_option]
}
return options
}
const searchMenu = (query, getResults, transformResults)=>{
connection.connect()
connection.query(query,(err, results)=>{
if(err) throw err
transformResults(getResults(results))
})
connection.end()
}
module.exports = (query, test)=>{start(query, test)}
我希望获得相同的输出,但它会转换为Promise。