猿问

如何让其请求完再回调?

init()

render()

有两个方法,这两个方法必须写在一起,init和render

init()有个ajax请求,现在想ajax请求回调完了之后再执行render(),render()不能写在回调里面

有没有什么方法?


new Promise(function (resolve, reject) {

        if (me.init()) {

            resolve();

        } else {

            reject();

        }

    }).then(function () {

        me.render();

    }).catch(function () {

        alert('失败');

    });

我试过这样写,init() return个true,可是每次都走到失败里面

求指导,是我哪里写错了。。。。


慕桂英4014372
浏览 361回答 1
1回答

小唯快跑啊

init()返回一个promise    function render() {      console.log(123);    }    function init() {      return new Promise(function(resolve, reject) {        $.ajax({          type: 'GET',          url: '/xxxxxxxxxxxxxxxxxxxxxxxxxxxx',          success: function(data) {            resolve({              data: data            })          },          error: function(err) {            resolve(err);          }        })      })    }    init().then(function(data) {      render();    }).catch(function(err) {      alert(err);    });
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答