【发布时间】:2016-06-28 13:31:55
【问题描述】:
我在我的项目中添加了一个函数,可以输出字符之间有超时的句子,效果很好。问题是JS执行了所有异步函数调用,而我希望它等待上一句完成后再开始下一句。
我希望这是一个可链接的 jQuery 函数,最终可以与 .delay 一起使用。我有很多句子要打印,所以嵌套回调会很乏味。
我尝试了很多方法,但最接近的方法是调用函数,每个方法之间都有延迟,当我必须为函数计时完成时,这会很烦人。
这是最新的
var printMsg = function(msg) {
var index = 0;
var out = $('#out').append('<pre></pre>');
var msgOut = setInterval(function() {
out.children(':last-child').append(msg[index++]);
if (index >= msg.length) {
clearInterval(msgOut);
};
}, 150);
}
那我得这样称呼他们
var timeout = 8000;
printMsg('Lorem ipsum Laboris Duis cupidatat ut id enim nisi');
setTimeout(function() {
printMsg('Lorem ipsum Laboris Duis cupidatat ut id enim nisi');
}, timeout);
timeout += 8000;
setTimeout(function() {
printMsg('Lorem ipsum Laboris Duis cupidatat ut id enim nisi');
}, timeout);
【问题讨论】:
-
是什么阻止了你使用回调?
标签: javascript jquery