2017-12-31 122 views
1

1つのサイトからいくつかのデータをスクラップするサービスを開発中です(関数getLinks()は、グローバル配列results1 []に必要なデータを追加して正常に動作します) React Componentを使用してこのデータをレンダリングします。反応コンポーネントはスクラップデータを待つことができません

class Page extends React.Component { 
    constructor(props) { 
    getLink(); 
    super(props); 
    this.content = results1[1]; 
    } 

ただし、コンストラクタはデータの準備ができたら待機しません。私はこの問題を解決するためにさまざまな方法を試みました。同じ問題に直面している人は誰でも欲しい。ヘルプ

答えて

1

WebスクレイピングはJavaScriptでは非同期です。サーバーがデータを返すときや、好ましくは約束を使用するときにコールバックを追加する必要があります。フェッチAPIを使用した例:https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch

+0

「データフェッチ」は、JavaScriptや他の言語では必ずしも非同期である必要はありません(フェッチライブラリの例はありますが、OPのようにサイトスクレイピングもほぼ確実です)。 –

+0

明確にするために投稿を編集しました。 –

関連する問題