我想在命令完成后终止进程(或退出它们)。我有此代码,但进程立即退出。
var gplay = require('google-play-scraper');
gplay.list({
category: gplay.category.GAME_ACTION,
collection: gplay.collection.TOP_FREE,
start: 0,
num: 120
})
.then(console.log, console.log);
gplay.list({
category: gplay.category.GAME_ACTION,
collection: gplay.collection.TOP_FREE,
start: 120,
num: 120
})
.then(console.log, console.log);
process.exit();
我用
node script.js > output.txt
运行它,因为我想将输出写入文件。我不知道其他方法。 最佳答案
您可以使用Promise.all
当可迭代参数中的所有promise已解决或可迭代参数不包含promise时,它将返回一个解决的Promise。它以第一个承诺被拒绝的理由拒绝。
回调displayThenExit
将显示结果,然后退出节点进程
var gplay = require('google-play-scraper');
var p1 = gplay.list({
category: gplay.category.GAME_ACTION,
collection: gplay.collection.TOP_FREE,
start: 0,
num: 2
})
var p2 = gplay.list({
category: gplay.category.GAME_ACTION,
collection: gplay.collection.TOP_FREE,
start: 2,
num: 2
})
var displayThenExit = function(result){
console.log(result);
process.exit(0);
}
Promise.all([p1, p2]).then(displayThenExit, console.log);
ps:我将
num: 2
设置为限制返回用于测试目的的条目数