Ако приемем, че използвате това node mysql пакет, можете да получите вмъкнатия идентификатор от резултат на израза за вмъкване.
Тъй като този пакет изглежда не е наясно със съществуването на обещания, можете да почистите праха от API с обвивка, която ще върне обещание:
//turn an insert query with callback function
// into a function returning a promise
const insertAsPromise = connection => args =>
new Promise(
(resolve,reject)=>
//call connection query with variable amount of argument(s)
// using Function.prototype.apply
connection.query.apply(connection,args.concat(
//add the callback to the list of arguments, callback
// is the last argument
(error, results, fields) =>
(error)
? reject(error)
: resolve([results,fields])
))
);
const sqlEdit = "INSERT INTO images_det SET ?";
Promise.all(
object.det_img.map(
image=>//map magical/global object.det_img to promise
insertAsPromise(connection)([sqlEdit,image.name_img])
.then(//when promise resolves get the inserted id
([results,fields])=>
results.insertId
)
)
)
.then(
results=>console.log(results)//should log an array of id's
)
.catch(
err=>console.error("something went wrong:",err)
)