gpt4 book ai didi

javascript - 我的所有功能什么时候完成?

转载 作者:行者123 更新时间:2023-11-30 10:44:30 24 4
gpt4 key购买 nike

我有一组异步函数,它们发出 executeSql 命令来删除 2 个表,并有回调来创建 2 个表并填充 2 个表。

我想知道他们什么时候全部完成。

我不介意它们是否同步执行。事实上,我更希望它们同步运行!

问:我是否可以使用 jQuery 管道方法将这些函数排队,以便它们以比发出回调更传统的方式执行?

我想做这样的事情:

DropTableA();
CreateTableA();
PopulateTableA();
DropTableB();
CreateTableB();
PopulateTableB();
window.location.replace('Index.htm');

最佳答案

看看 jQuery 的 Deferreds and Promises .

简而言之,这是一个异步函数的示例,它异步执行某些操作(在本例中为 setTimeout)。调用该函数时,您会得到一个 promise 。

var myFunc = function (value) {
var d = $.Deferred();

setTimeout(function () {
d.resolve(42 * value);
}, 1000);
return d.promise();
};

var promise = myFunc(100);
promise.done(function (res) { console.log(res); });

您可以使用 $.when 在所有 promise 都已实现时执行某些操作,即

$.when(p1, p2, p3).then(...)

如果你想按顺序执行它们,你可以使用 deffered's pipe 链接延迟。 .

关于javascript - 我的所有功能什么时候完成?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9196985/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com