検索

ホームページ  >  に質問  >  本文

javascript - angularjs中$http异步导致数据依赖出错

一个controller里面有几个$http请求,后面的要依赖前面返回的数据,有时候后面的数据比前面加载快,就会报null错误,有没有什么办法设置请求顺序?

阿神阿神2896日前216

全員に返信(4)返信します

  • 迷茫

    迷茫2017-04-10 17:39:39

    用Promise啊兄弟

    返事
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-10 17:39:39

    $q 创建两个deffer

    $q.all(promise1,promise2).then(function(){})
    保证两个http请求的数据拼装顺序

    返事
    0
  • PHP中文网

    PHP中文网2017-04-10 17:39:39

    用promise来解决异步的问题

    $http.post()
        .then(res => {
            return res.data;
        })
        .then(data => {
            $http.get({ data })
                .then(callback);
            // ....
        })

    返事
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-10 17:39:39

    可以按前面所说的用promise,或者你直接用回调函数咯。

    var a = function(fn) {
        console.log("a");
        // 你可以在这里判断fn是否是一个函数,如果是再执行
        fn();
    }
    
    var b = function() {
        console.log("b");
    }
    
    a(b);

    返事
    0
  • キャンセル返事