0

I want to execute callback function

function recurring_end() {

var sql= "SELECT `bookmarks`.`id`,`bookmarks`.`bookmark_url` as url FROM bookmarks LIMIT 0, 10";

connection.query(sql, function(err,bookmarks) {
     for(var i = 0; i< bookmarks.length; i++){
        (function(i) {

                parseArticle(i,function(err,result){
                    console.log("Result is "+JSON.stringify(result));
                        NewParseArtilce(result,function() {
                                console.log("New Parse Artilce is " +i);
                    });

                });
         })(i);
     }
});
}
function NewParseArtilce(i,callback){
    console.log("New Article Number is is "+i);

}
function parseArticle(i,callback) {
    console.log("Parse Article Number is " +i);

return i;
};

This is my code. I am executing parseArticle Function first and then i want to pass result into newParseArticle But i am not getting any result in parseArtilce.

Any idea, why it is causing problem

Thanks

1 Answer 1

1

Because your parseArticle is synchronous. It should be:

function parseArticle(i, callback) {
  console.log("Parse Article Number is " +i);
  callback(null, i); // executes the callback, null is err and i is result
}

Also your last console.log won't get executed. You should do this:

function NewParseArtilce(i,callback){
  console.log("New Article Number is is "+i);
  callback(); // executes the callback
}
Sign up to request clarification or add additional context in comments.

2 Comments

what is null. How you do you this is synchronous or asynchronous please
@HituBansal Simply put, when using callback = asynchronous. When using return = synchronous. Understand Callbacks.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.