Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/442.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将javascript对象传递到子函数作用域_Javascript_Angularjs_Scope_Angular Promise - Fatal编程技术网

如何将javascript对象传递到子函数作用域

如何将javascript对象传递到子函数作用域,javascript,angularjs,scope,angular-promise,Javascript,Angularjs,Scope,Angular Promise,我有一个函数,它将进行REST调用,但在获取身份验证令牌之前,它无法执行此操作 因此,我将REST调用包装在auth token调用承诺的“then”中,如下所示: var RESTCall = function() { return authTokenPromise.then(function() { return $http.get('userService' { userId: 1234, someFlag: true }); }); };

我有一个函数,它将进行REST调用,但在获取身份验证令牌之前,它无法执行此操作

因此,我将REST调用包装在auth token调用承诺的“then”中,如下所示:

var RESTCall = function() {
  return authTokenPromise.then(function() {
    return $http.get('userService' {
      userId: 1234,
      someFlag: true
    });
  });
};
这会导致等待触发对userService的调用,直到来自获取auth令牌的服务的authToken承诺得到解决

当我试图删除设置userId和someFlag的硬编码参数时,问题就出现了。我想做的是:

var RESTCall = function(params) {
  return authTokenPromise.then(function() {
    return $http.get('userService' {
      userId: params.userId, // params is undefined
      someFlag: params.flag   // params is undefined
    });
  });
};

如何将参数传递到由函数{…}创建的匿名函数作用域中?

您不需要,只需使用参数即可。这不是很好吗?应该行的。你在哪里打电话?你确定在所有事件中你都传递了一个对象吗?使用jquery函数$。proxy@dandavis@Bergi是正确的,它让我走上了正确的道路。。。我不需要做任何事情,除了在我的实际代码中,这里的示例中没有这样的参数:authTokenPromise.thenparams,除了authTokenPromise没有返回任何内容之外,因此RESTCall声明中的参数被.thenfunctionparams{}中未定义的参数覆盖。谢谢你们俩。。。愚蠢的打字错误。。。我的错。@Bergi如果你想创造一个答案,我会接受的!