What I want to do is asynchronously check from database and get a result from it? In my application I am trying to implement Asynchronously to resolve this steps as
- Check mobile numbers from database as JsonArraykinds of loop clause
- Create JsonArrayfrom Result
- Print created array
I learned just enough about Promises to write the following connection, but then unfortunately my solution could't be implemented Asynchronously and I get multi row as result on the console.
1) First step is to pass data as json array to check mobile numbers from the database
registeredUsers(data)
    .then(function (value) {
        console.log('Contents: ' + value);
    }).catch(function (v) {
    console.log("faile");
});
2) After that I have two function inside Promise
function registeredUsers(data) {
    return new Promise(function (resolve, reject) {
        var accountNumbers = [];
        for (var i = 0; i < data.length; i++) {
            var mobileNumber = data[i].mobileNumber.substr(1, data[i].mobileNumber.length);
            checkUserMobileNumberAsEwallet(mobileNumber).then(function (mobileNumber) {
                accountNumbers.push({ewalletNumber: mobileNumber});
            }).catch(function (v) {
                reject(false)
            });
        }
        console.log(accountNumbers);
        resolve(accountNumbers);
    });
}
function checkUserMobileNumberAsEwallet(mobileNumber) {
    return new Promise(function (resolve, reject) {
        var query = "SELECT id FROM userEwallets WHERE ewalletNumber LIKE '%" + mobileNumber + "'";
        connection.query(query, function (err, results) {
            if (err) return reject(false);
            if (results.length > 0)
                resolve(mobileNumber);
        });
    });
}
What is my code problem? Why I can't implementing this?
 
     
     
    