[英]JavaScript “ is not a function” error when passing function as argument
[英]Return value when passing a function as an argument in Javascript
當我將對象傳遞給方法時,我有一些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
//});
據推測,該函數的返回值將被忽略。 當然,您當前的代碼中並未使用它。
您需要使該函數影響該函數本身之外的作用域變量:
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"};
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.