私はXrayで収集したメタデータで配列を埋めようとしていますが、これは成功しません。この関数は、サーバー上のAPIルートによって呼び出され、アプリケーションからのリンクを取得します。Xrayから収集されたメタデータを配列に取り込みます
メタデータを掻き集めるのに時間がかかるため、私は約束を抱いているように思えます。移動する前にデータが収集されるまで待つ機能を得られないようです。おそらく、私はXrayの仕組みを理解していないだけでしょうか?多分約束ですか?私は、これが最も最近の試み(最も単純な)されて、私は考えることができるすべてのものを試してみた:
function createCollection() {
Promise.all(rawLinks.map(function(link) {
linksArray.push(xray(link, 'title')(function(error, title) {
console.log(title);
return title;
}))
}))
.then(linksArray => {
console.log(linksArray);
});
}
それは遠くないで、私が試した中で最も堅牢なまたは精巧なソリューションですが、それは最新のものです。最初に、コンソールはデータとして「未定義」の配列を記録します。その後、個々のタイトルを記録します。
何か助けや研究の方向性に非常に感謝します。私が言ったように、私はすべての私のアイデアを使い果たして、もう見える場所を知らないかのように感じます。
あなたは 'map'コールバックでlinksArray''に何かをプッシュするが、ちょうど '1つの項目の約束をreturn'てはいけません。 – Bergi
あなたは何の約束のライブラリを使用していますか? 'xray'機能を[promisify](http://stackoverflow.com/q/22519784/1048572)する必要があります。 – Bergi