gpt4 book ai didi

javascript - 如何让程序等待 javascript 中的按钮按下?

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:55:46 26 4
gpt4 key购买 nike

我需要修改一些遗留的 javascript 代码。有一个地方我想等到用户按下两个按钮之一,然后继续程序流程(如 prompt() 函数)。如何实现?

最佳答案

只需创建一个 promise 并将 resolve 函数存储在其范围之外的全局变量中。然后让程序等待 promise 解决(使用“async”和“await”)。通过调用该全局变量,单击按钮即可解决 promise 。我在国际象棋程序中使用了这种技术来等待升级弹出窗口的答案:

var _promote; /* resolve-function reference */

async function promote_piece(pce, fld, clr) {
var type;
(...)
show_mpw(clr); /* show modal promotion window */
var promise = new Promise((resolve) => { _promote = resolve });
await promise.then((result) => { type = result });
if (type === undefined) type = "Q";
(...)
}

因此在创建 promise 后,程序将等待弹出窗口解决它。弹出窗口在关闭时按如下方式解决 promise :

_promote(type); /* resolve promotion-promise */

注意请记住,在这种情况下,promote_piece() 函数本身也必须使用“await”关键字调用!否则程序将异步执行并继续执行

关于javascript - 如何让程序等待 javascript 中的按钮按下?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2221836/

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