我有一些javascript代码,当我将对象传递给方法时工作正常。在the API documentation中,它表示我也可以将函数传递给方法。当我尝试这个时,我能够传递参数并进行警报以验证参数是否正在传递。但是,我无法返回该值。
我错过了正确返回值的javascript行是什么?
var result = {model: "todo"};
//$httpBackend.whenGET(/^\/api\//).respond(result);
$httpBackend.whenGET(/^\/api\//).respond(do_something);
function do_something(method, url, data) {
alert("url "+url); // or whatever
var result = {model: "todo"};
return result;
}
//From the API documentation
// $httpBackend.whenGET('/.*/').respond(function(method, url, data) {
// do something
//});
答案 0 :(得分:0)
据推测,该函数的返回值被忽略。当然,它并没有在你当前的代码中使用。
您需要让该函数影响函数本身之外的变量:
var result;
$httpBackend.whenGET(/^\/api\//).respond(do_something);
// Do something with `result`...
alert(result.model); // or whatever
function do_something(method, url, data) {
alert("url "+url); // or whatever
result = {model: "todo"};
}