我需要依次执行2个函数,确保"A"函数中的所有内容都执行完后再执行"B"函数的内容。我找不到不使用setTimeout的示例,这很奇怪。下面是一个示例(来自这里),它是否有效?我该如何测试它是否有效?我可以使用哪些虚拟代码来模拟“//使用SharePoint JSOM进行操作”需要花费5秒到30秒的时间。请注意不要删除HTML标记。
var a = function() {
var defer = $.Deferred();
//do stuff with SharePoint JSOM
console.log('a() called');
return defer;
};
var b = function() {
var defer = $.Deferred();
console.log('b() called');
return defer;
};
a().then(b);
setTimeout
作为占位符即可。 - Bergib
没有停止 - 它还没有执行。它被延迟了,计划在a
完成后执行。这就是延迟对象的作用。因此,只需使用setTimeout
异步解决a
返回的 promise 即可。 - Bergi