单击按钮时如何创建按钮并修改值?

How to create a button and modify value when I click it?

我在聊天室网站上工作,我想创建按钮并在单击它时更改全局值。

但是点击后没有任何反应(变量没有变化),我尝试打印创建按钮的Promise,但是显示'PromiseState: pending'。

我是不是哪里写错了?

谢谢。

// i is chatroom's name.
let ref = database.ref("chatroom/chat/" + i + "/user");

ref.once("value", src => {
    if (src.hasChild(user.uid)) {
        
        let add = new Promise(() => {
            $("#chatBtn").append(chatroomHText(i));
        });

        add.then(() => {
            $("#chat-" + i).click(() => {
                current_chatroom = i;
            });
        });
    }
});

function chatroomHText(i) {
    return ('<button type="button" class="w3-bar-item w3-button" id="chat-' + i + '">' + i + "</button>");
}
// i is chatroom's name.
let ref = database.ref("chatroom/chat/" + i + "/user");

ref.once("value", src => {
    if (src.hasChild(user.uid)) {
        
        let add = new Promise((resolve, reject) => {
            $("#chatBtn").append(chatroomHText(i));
            resolve(); // You are missing this part.
        });

        add.then(() => {
            $("#chat-" + i).click(() => {
                current_chatroom = i;
            });
        });
    }
});

function chatroomHText(i) {
    return ('<button type="button" class="w3-bar-item w3-button" id="chat-' + i + '">' + i + "</button>");
}