これらのそれぞれの最後の引数は「コールバック」と呼ばれます。作業が終了したら呼び出されます。あなたは束これらのを持っている場合は(もちろん、
webshot('google.com', 'google.jpeg', options, function(err) {
webshot('yahoo.com', 'yahoo.jpeg', options, function(err) {});
});
あなたを:あなたが一度にこれらのいずれかを実行したいのであれば、前の1の次の1 内部のコールバックへの呼び出しを置きます言及3000!)、あなたはそれらのようにそれらを入れ子にするつもりはありません。私はおそらくあなたがそれらを渡す引数の配列を作成し、コールバックループ使用します。
function process(list, callback) {
var index = 0;
doOne();
function doOne() {
var entry = list[index++];
webshot(entry.domain, entry.img, entry.options, function(err) {
// ...error handling, etc...
if (index < list.length) {
doOne();
} else {
callback();
}
});
}
}
var webshots = [
{domain: 'google.com', img: 'google.jpeg', options: options},
{domain: 'yahoo.com', img: 'yahoo.jpeg', options: options},
// ...
];
process(webshots, function() {
// All done
});
サイドノート:これは約束で少しクリーナーだろうが。ノードスタイルのコールバックAPI(webshotのような)を約束する様々なライブラリがあります。あなたがした場合、あなたはこのようなものを約束を扱うことができる
:
var webshots = [
{domain: 'google.com', img: 'google.jpeg', options: options},
{domain: 'yahoo.com', img: 'yahoo.jpeg', options: options},
// ...
];
allDone = webshots.reduce(function(p, entry) {
return p.then(function() {
return promisifiedWebshot(entry.domain, entry.img, entry.options);
});
}, Promise.resolve());
allDone.then(function() {
// All done
})
.catch(function() {
// Handle error
});
webshotは何ですか?あなたはそれらを順番に実行したいのですか、それとも他に何かがあります。 – Nivesh
おそらく、このhttps://github.com/brenden/node-webshot – martinczerwi
は、Googleのサムネイルを取って、それからヤフーの..それは同時に両方のサムネイルを撮っているタキンです。私はGoogleのサムネイルを撮りたいと思って、それと同時にヤフーのサムネイルを撮ってください。同じ時刻ではありません。 – user97811