0

当我将对象传递给方法时,我有一些 javascript 代码可以正常工作。在API 文档中中,它说我也可以将函数传递给该方法。当我尝试这个时,我能够传递参数并发出警报以验证参数是否正在传递。但是,我无法返回该值。

我缺少正确返回值的 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
//});
4

1 回答 1

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"};
}
于 2012-12-24T06:20:35.667 回答