Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.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_Typescript - Fatal编程技术网

Javascript 将行为与承诺回调混淆

Javascript 将行为与承诺回调混淆,javascript,angularjs,typescript,Javascript,Angularjs,Typescript,有人知道这是怎么回事吗 当我在typescript angularjs类中声明承诺时,如下所示: constructor(){ var promise=customService.getObjects(); 我保证,那么( $scope.successCallback, $scope.errorCallback); $scope.successCallback=()=>{} $scope.errorCallback=()=>{} }这是因为在第一种情况下,您只是将'undefined'传递给.

有人知道这是怎么回事吗

当我在typescript angularjs类中声明承诺时,如下所示:

constructor(){
var promise=customService.getObjects();
我保证,那么(
$scope.successCallback,
$scope.errorCallback);
$scope.successCallback=()=>{}
$scope.errorCallback=()=>{}


}
这是因为在第一种情况下,您只是将'undefined'传递给.then()。功能是否需要附加到$scope?您可以创建一个匿名函数,而不是在then()中定义的吗?或者,您可以让这些函数自己调用附加到$scope但尚未定义的函数。

这是因为在第一种情况下,您只是将“未定义”传递到.then()中。功能是否需要附加到$scope?您可以创建一个匿名函数,而不是在then()中定义的吗?或者,您可以让这些函数自己调用附加到$scope但尚未定义的函数。

这是因为在第一种情况下,您只是将“未定义”传递到.then()中。功能是否需要附加到$scope?您可以创建一个匿名函数,而不是在then()中定义的吗?或者,您可以让这些函数自己调用附加到$scope但尚未定义的函数。

这是因为在第一种情况下,您只是将“未定义”传递到.then()中。功能是否需要附加到$scope?您可以创建一个匿名函数,而不是在then()中定义的吗?或者,您可以让这些函数自己调用附加到$scope但尚未定义的函数。

我选择了上述匿名函数,因为我多次重复使用相同的回调。并将它们连接到$scope,因为我在其中处理作用域变量。(或者这是没有必要的?)我想我的问题是:为什么我在下面定义****时没有定义它们:将函数附加到$scope的唯一原因是,如果需要将其附加到ng click或类似的内容。如果不是,你应该正常地定义它。您可以像往常一样在回调中访问变量,比如$scope.var。它们是未定义的,因为您在初始化变量之前将变量传递给了函数。因此,本应传递的引用尚不存在。广义地说,Javascript和大多数其他语言都是自上而下运行的。我选择了上面的匿名函数,因为我多次重复使用相同的回调。并将它们连接到$scope,因为我在其中处理作用域变量。(或者这是没有必要的?)我想我的问题是:为什么我在下面定义****时没有定义它们:将函数附加到$scope的唯一原因是,如果需要将其附加到ng click或类似的内容。如果不是,你应该正常地定义它。您可以像往常一样在回调中访问变量,比如$scope.var。它们是未定义的,因为您在初始化变量之前将变量传递给了函数。因此,本应传递的引用尚不存在。广义地说,Javascript和大多数其他语言都是自上而下运行的。我选择了上面的匿名函数,因为我多次重复使用相同的回调。并将它们连接到$scope,因为我在其中处理作用域变量。(或者这是没有必要的?)我想我的问题是:为什么我在下面定义****时没有定义它们:将函数附加到$scope的唯一原因是,如果需要将其附加到ng click或类似的内容。如果不是,你应该正常地定义它。您可以像往常一样在回调中访问变量,比如$scope.var。它们是未定义的,因为您在初始化变量之前将变量传递给了函数。因此,本应传递的引用尚不存在。广义地说,Javascript和大多数其他语言都是自上而下运行的。我选择了上面的匿名函数,因为我多次重复使用相同的回调。并将它们连接到$scope,因为我在其中处理作用域变量。(或者这是没有必要的?)我想我的问题是:为什么我在下面定义****时没有定义它们:将函数附加到$scope的唯一原因是,如果需要将其附加到ng click或类似的内容。如果不是,你应该正常地定义它。您可以像往常一样在回调中访问变量,比如$scope.var。它们是未定义的,因为您在初始化变量之前将变量传递给了函数。因此,本应传递的引用尚不存在。广义地说,Javascript和大多数其他语言都是自上而下运行的。在第一种情况下,您将向promise传递一个“引用x”,并且在您将此引用更改为“anonimous函数”后,原始引用丢失,并且在promise中未定义。您可以声明一个命名函数,而引用不会丢失。在第一种情况下,您将向承诺传递一个“引用x”,并在您将此引用更改为“anonimous function”后,但原始引用已丢失,并且在承诺中未定义。您可以声明一个命名函数,而引用不会丢失。在第一种情况下,您将向承诺传递一个“引用x”,并在您将此引用更改为“anonimous function”后,但原始引用已丢失,并且在承诺中未定义。您可以声明一个命名函数,而引用不会丢失。在第一种情况下,您将向承诺传递一个“引用x”,并在您将此引用更改为“anonimous function”后,但原始引用已丢失,并且在承诺中未定义。您可以声明一个命名函数,并且引用不会丢失。