gpt4 book ai didi

JavaScript Promise 准备就绪

转载 作者:行者123 更新时间:2023-11-28 04:59:19 27 4
gpt4 key购买 nike

我有一个类(LoadClass),它在页面加载时初始化,并在我的例子中打开一个 SQLite 数据库并执行几个查询。现在我希望其他组件仅在 LoadClass 先前完成加载数据库时执行代码,但这必须随时发生。出于显而易见的原因,我只想打开数据库一次。它应该像这样工作:

class LoadClass {

// This executes directly on page load
constructor() {
this.load_my_database().then(function() {
// My database finished loading, now my buttons may work.
})
}
}

function user_presses_button() {
LoadClass.ready().then(function() {
// Only now something
})
}

我该如何使用 Promise 来做到这一点?

最佳答案

class LoadClass {

private _ready_promise;

constructor() {}

// This executes directly on page load
page_load() {
this._ready_promise = this.load_my_database();
}

load_my_database() {
return new Promise(function(resolve) {
// Do something...
// Now my database finished loading, everything else may work.
return resolve();
})
}

ready() {
return this._ready_promise;
}
}

function user_presses_button() {
LoadClass.ready().then(function() {
// Only now something
})
}

关于JavaScript Promise 准备就绪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42280578/

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