だから私は関数を持っていると言います:
function grabOldestJob() {
var client = mysql.createClient({
user: dbConfig['USER'],
password: dbConfig['PASS'],
});
client.query('USE '+dbConfig['DATABASE']);
client.query('SELECT url FROM '+dbConfig['JOB_TABLE']+' ORDER BY added ASC LIMIT 1 ',
function selectCb(err, results, fields, passed) {
if (err) {
throw err;
}
client.end();
fetchFeed(results[0]['url']);
}
);
}
必要なのは、インライン関数に埋め込まれたresults [0] ['url']です。そのため、その変数をその関数から取得して、grabOldestJob関数を返すか、別の関数をに渡すことができます。インライン関数なので、results[0]['url']をパラメーターとして使用できます。
私はnode.jsの概念に非常に慣れていないので、コードを可能な限り「適切」にしたいと考えています。この関数はプロセスの最初のものであり、データベースからURLを引き出し、それを渡してリモートサーバーからフェッチし、xmlフィードを解析して、特定のビットをデータベースに保存します。ノードの機能を使用して、「一度に多くのことを実行する」ことを望んでいます。同時に多くのフィードをフェッチ->解析->保存できるようになります。このためのベストプラクティスのヒントも大歓迎です。