Javascript fetch api,具有无限超时



我有一个带有获取请求的网络工作者,该请求在一段时间后返回错误。我不确定这是否是因为超时,但我希望它有无限超时。这是我在 webworker 中的代码:

 fetch(data.defaults + 'returnSqlRes.php',
    {
        headers: {'Accept': 'application/json', 'Content-Type': 'application/json'},
        method: "post",
        body: JSON.stringify(data.sql)
    })
    .then(status)
    .then(json)
    .then(function (sData) {
        var dt={};
        dt['o']=data.tableId;
        dt['data']=sData;
        _.forEach(dt.data[0],function (row) {
            row.DT_RowId = composeId(data.pk, row);
            _.forEach( data.tableCols,function (o, index) {
                if (_.has(o, 'complexList')) {
                    var fieldName = o.attr.desigColumn ? o.attr.desigColumn : o.attr.name;
                    var field = o.name;
                    var keys = returnListKeys(o);
                    var search = '';
                 _.forEach(  keys, function (name, i) {
                        if (i < keys.length - 1) {
                            search += row[name] + '@';
                        } else {
                            search += row[name];
                        }
                    });
                    var result = _.find(data.loadedData[getComplexListIndex(o)], {VAL: search});
                    if (result == undefined) {
                        row[field] = "";
                    } else {
                        row[field] = result[fieldName];
                    }
                }
            });
        });
        self.postMessage(downloadCSV(dt));

代码的最终目的是下载 csv 文件。问题是有时我有 150k 或 200k 条记录,解析需要时间,并且下载了网络错误而不是文件。在少于 100k 记录的表中一切正常,文件已下载。

遇到这可能有助于 https://github.com/github/fetch/issues/175 好运!

相关内容

  • 没有找到相关文章

最新更新