angularjs 如何修改函数以等待某行完成执行

oewdyzsn  于 2022-10-31  发布在  Angular
关注(0)|答案(1)|浏览(140)

我有一个angularJS函数

$scope.myFunc = ()  => {
        myModule.getConfig().update(params);
        myModule.go();

        myModule.log('ok');
    };

并且go函数

go: function () {
            $state.go('myFunc', options);
        },

go()调用一个API需要花费一些时间。我如何修改这段代码,使其只在前一行代码完成后才调用myModulle.log()?

sd2nnvve

sd2nnvve1#

假设myModule.go接受回调,则可以使用Promise。

$scope.myFunc = async () => {
    try {
        myModule.getConfig().update(params);
        await new Promise((resolve, reject) => myModule.go(resolve));
        myModule.log('ok');
    } catch (error) {
        console.error(error);
    }
};

相关问题