3

全て、

私は彗星 JS ライブラリの実装に取り​​組んでいます。現在、応答テキストのサイズを追跡しており、チャンクが到着すると新しい部分を返しています。これにより、コールバックに新しいデータが提供されますが、これは明らかなメモリ リークです。XMLHttpRequest オブジェクトを強制的に閉じたり、responseText の内容を定期的にリセットしたりする方法はありますか?

request.multi = function(type, handler, url, querystring){
    querystring  = (querystring == undefined) ? null: querystring;

    var response = "";
    var handle   = makeRequestHandle();

    handle.multipart = true;
    handle.open(type, url, true);
    handle.onreadystatechange = function(){
        var return_val;
        if(handle.readyState == 4){
            m_log.debug("Conection died");
        }else if(handle.readyState == 3){
            return_val = handle.responseText.substring(response.length);
            response   = handle.responseText;
            handler(return_val);
        }else{
            m_log.debug("readyState %s", handle.readyState);
        }
    };
    handle.send(querystring);
}
4

1 に答える 1