使用许多jsonp请求检索数据

时间:2019-01-11 17:03:17

标签: javascript json reactjs jsonp react-dom

我的问题是如何使用许多jsonp请求检索数据?实用吗?目前,我正在CRA中使用此代码片段(如下)(伪代码)。

import * as fetch from 'fetch-jsonp';
import * as BlueBird from 'bluebird'; // bluebird is promise library

const getData = async () => {
  const urls = ['https://...', 'https://...'] // containt about 20000 urls
  const response = await BlueBird.map(urls, url => fetch(url), { concurrency: 10 })
  return response
}

工作版本的代码会在DOM中创建脚本标签,因此您可以猜测它会延长DOM渲染,我的笔记本电脑开始真正发热,最终出现错误“渲染过程消失”(在小数据上一切正常)。那我该怎么办?将我的代码移到服务器端并使用json?或者有可能创建单独的反应dom并将其用于jsonp? (无法在客户端使用json导致cors)

1 个答案:

答案 0 :(得分:-1)

如果您正在使用Android或Java库,请使用jsoup官方依赖项。 然后使用

    function get_geoCode($post_ID) {
    $geoCode = the_field('geo_code');
    if ($geoCode) {
        return $geoCode;
   }
}
function geo_row($defaults) {
    $defaults['geo_col'] = 'Geo Code';
    return $defaults;
}

function geo_row_content($column_name, $post_ID) {
    if ($column_name == 'geo_col') {
        $geo_code_id = get_geoCode($post_ID);
        if ($geo_code_id) {
            echo  $geo_code_id;
         }
     }
}


// CALL THE ABOVE FUNCTIONS +  FILTERS
add_filter('manage_page_posts_columns', 'geo_row', 10);
 add_filter('manage_edit-page_sortable_columns', 'geo_columns');

function geo_columns( $columns ) {
   $columns['geo_col'] = 'Geo Code';

   //To make a column 'un-sortable' remove it from the array
    //unset($columns['date']);

    return $columns;
}

add_action('manage_page_posts_custom_column', 'geo_row_content', 10, 2);

 add_action( 'pre_get_posts', 'geoCol_orderby' );
function geoCol_orderby( $query ) {
    if( ! is_admin() )
          return;

    $orderby = $query->get( 'orderby');

    if( 'Geo Code' == $orderby ) {
        $query->set('meta_key','geo_col');
        $query->set('orderby','meta_value_num');
    }
}