成功调用函数后的angular $ timeout

时间:2016-03-08 02:29:24

标签: javascript angularjs cordova

我从角度调用Cordova插件,我必须在我的调用之间设置一定的延迟,以便给本机硬件时间初始化或执行任务。

即使在他们返回成功回复之后,也应给予时间。

无论我尝试什么,问题都是我一次发送的所有内容

//删除了初始代码,因为它伤害了@Fizzix眼睛。

现在是完美但不是时机......

 simplePrint: function(text, startEnterLines, endEnterLines) {
                var deferred = $q.defer();
                printer.open().then(
                    $timeout(printer.init(), 500)
                ).then(
                    $timeout(printer.writeEnterLine(startEnterLines), 1000)
                ).then(
                    $timeout(printer.printText(text), 1200)
                ).then(
                    $timeout(printer.writeEnterLine(endEnterLines), 1300)
                ).then(
                    deferred.resolve($timeout(printer.closePrinter(), 3000))
                );
                return deferred.promise;
            }

1 个答案:

答案 0 :(得分:2)

如何使用承诺链的一个简单示例是

$q.when(true).then(function(value) {
    // Do work, return promise
}).then(function(value) {        
    // Do work, return promise
}).then(function(value) {
    // Do work, return promise
}).then(function(value) {        
    // Do work, return promise
}, function(value) {        
    // Do work
});

你应该阅读更多关于链接承诺而不破坏顺序的内容。 请找一些好的例子。