gpt4 book ai didi

javascript - 嵌套函数的返回值

转载 作者:行者123 更新时间:2023-11-28 13:42:34 24 4
gpt4 key购买 nike

我有一个带有函数的对象。当我以这种方式使用它时,它总是返回 undefined 。我怎样才能让它返回任何this.client[method].read(params).done函数返回?

rest.get('search', {query: 'Eminem', section: 'tracks'})

这是对象:

var rest = {

// configuration
base: 'http://localhost/2.0/',
client: null,

get: function (method, params) {

// if client is null, create new rest client and attach to global
if (!this.client) {
this.client = new $.RestClient(this.base, {
cache: 5 //This will cache requests for 5 seconds
});
}

// add new rest method
if (!this.client[method]) {
this.client.add(method);
}

// make request
this.client[method].read(params).done(function(response) {
//'client.foo.read' cached result has expired
//data is once again retrieved from the server
return response;
});
}
}

最佳答案

get: function (method, params, callback) {

// if client is null, create new rest client and attach to global
if (!this.client) {
this.client = new $.RestClient(this.base, {
cache: 5 //This will cache requests for 5 seconds
});
}

// add new rest method
if (!this.client[method]) {
this.client.add(method);
}

// make request
this.client[method].read(params).done(function(response) {
//'client.foo.read' cached result has expired
//data is once again retrieved from the server
callback(response);
});
/*
simpler solution:
this.client[method].read(params).done(callback);
*/
}

这是异步代码,因此您必须使用回调:

rest.get('search', {query: 'Eminem', section: 'tracks'}, function(response) {
// here you handle method's result
})

关于javascript - 嵌套函数的返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16864724/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com