回调$ applyAsync?

时间:2016-02-02 15:21:16

标签: javascript angularjs

我想知道是否有办法在 char *biggest = NULL; char cBiggest = 0; for(int i=0; i < s.length(); i++) { if(s[i] > cBiggest) { cBiggest = s[i]; biggest = s+i; } } *biggest = ' '; 方法调用上定义回调方法。

我正在寻找类似的东西:

$applyAsync

我对JS并不十分精通,所以也许我只是使用了错误的函数名称

1 个答案:

答案 0 :(得分:0)

起初: undefined不返回任何内容($applyAsync),因此,您无法调用任何链接后的方法。

第二个: $apply可用于排队需要在同一摘要中评估的多个表达式。您不应该使用它们来修改模型,而是使用function async(){ return $q(function(resolve, reject) { //do some async stuff resolve('some result value') }); } async().then(function(value){ //do some more stuff after async function is resolved })

如果需要异步运行某些代码 - 只需使用$ q服务即可。像这样:

do some async stuff

如果您需要在没有函数声明的情况下立即调用some_async_stuff = (function($q){ return $q(function(resolve, reject) { //do some async stuff resolve('some result value') }); })($q).then(function(value){ //value is 'some result value' //do some more stuff after async function is resolved return 'another result value' }) ,请使用IIFE语法:

   class A{
       private $func = null;

       private $default_func = function(){
           return $this;
       }

       public function __construct(callable $user_func=null){
          if($user_func){
              $this->func = $user_func;
          } else{
              $this->func = $this->default_func;
          }

          $this->func();
      }
    }