Skip to content

Instantly share code, notes, and snippets.

@coolicer
Created April 23, 2018 09:46
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save coolicer/229bf623bc4103121d02b9f187f3aa69 to your computer and use it in GitHub Desktop.
Save coolicer/229bf623bc4103121d02b9f187f3aa69 to your computer and use it in GitHub Desktop.
/*
* bluebird 顺序批量下载
*/
const Promise = require("bluebird");
const cmd = require('node-cmd');
const cmdRuner = Promise.promisify(cmd.get, { multiArgs: true, context: cmd });
let arr = [];
const makePromise = function(i) {
return new Promise((resolve, reject) => {
console.log(`开始下载第${i}个视频`);
cmdRuner(`you-get https://cdn.xxxx.com/v/${i}.mp4`).then((res) => {
console.log(`第${i}个视频下载完毕`);
resolve(res);
}).catch((e) => {
reject(e);
})
})
}
for (let i = 1; i < 3; i++) {
arr.push(i);
}
Promise.mapSeries(arr, (item, index) => makePromise(item)).then(res => {
console.log('->', 'done');
}).catch((e) => {
console.log('error->', e)
})
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment