gpt4 book ai didi

node.js - 使用带有 http 请求的 HighlandJS 流

转载 作者:太空宇宙 更新时间:2023-11-04 00:50:45 27 4
gpt4 key购买 nike

我想获取一个 url 数组并将其映射到每个 url 的 pageranks 数组。

我想尝试一下流,但我不确定我是否理解我在做什么。

我尝试了几件事,这就是我着陆的地方(不起作用):

app.js

var getPageRank = require('pagerank');
var _ = require('highland');

var urls = [
'google.com',
'yahoo.com',
'bing.com'
];

// Example usage of getPageRank
getPageRank(urls[0], function(err, ranking) {
console.log(ranking);
});

var getPR = _.wrapCallback(getPageRank);

_(urls).map(getPR).toArray(function (myAnswer) {
console.log(myAnswer);
});

package.json

{
"name": "page-rank",
"version": "0.0.0",
"description": "",
"main": "app.js",
"scripts": {
},
"author": "",
"license": "ISC",
"dependencies": {
"highland": "^2.5.1",
"pagerank": "^2.0.0"
}
}

输出似乎是一个流数组,这似乎很奇怪,因为 toArray() 和 google 的页面排名为 9。我不知道如何包装 getPageRank 以便它等待在回调中返回值。

最佳答案

由于您有流的流,因此可以使用 Stream.merge()Stream.flatten() 将每个流中的值合并到新流中:

_(urls).map(getPR).merge().toArray(function (myAnswer) {
console.log(myAnswer);
});

关于node.js - 使用带有 http 请求的 HighlandJS 流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32595659/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com