search

Home  >  Q&A  >  body text

javascript - 请大神帮我看一段代码会不会造成内存溢出

function MX_getJSON(url,callback){
    api.ajax({
        url: url,
        method: 'get',
        timeout: 15,
        dataType: 'json',
        returnAll:false
    },function(ret,err){
        callback(ret,err);
    });
}

MX_getJSON('http://192.168.1.102/json.php',function(ret,err){
    console.log(ret + '+' + err);
});

这样子写会不会造成内存溢出?顺便问下这段代码有没有可以改进的地方?(PS:api.ajax不是我能改写的)

先谢谢大家

大家讲道理大家讲道理2900 days ago381

reply all(1)I'll reply

  • 巴扎黑

    巴扎黑2017-04-10 15:11:15

    不会… 建议改写成这样:

    function MX_getJSON(url, callback) {
        api.ajax({url:url, method:"GET", timeout:15, dataType:"json", returnAll:0}, callback);
    }
    

    如果不需要考虑兼容性的话其实可以用 Promise 写:

    function MX_getJSON(url) {
        return new Promise(function(resolve, reject) {
            api.ajax({
                url:url,method:"GET",timeout:15,dataType:"json",returnAll:0
            }, function(ret, err){
                err ? reject(err) : resolve(ret);
            })
        });
    }
    
    MX_getJSON('http://192.168.1.102/json.php')
    .then(function(ret) {
        console.log(ret)
    })
    .catch(function(err) {
        console.log(err);
    })
    

    reply
    0
  • Cancelreply