Javascript 正在等待函数,但仍然没有结果
我正在尝试创建两个函数,一个函数获得两周,另一个函数创建一个提示,我希望在其中显示周,这就是我尝试的:Javascript 正在等待函数,但仍然没有结果,javascript,asynchronous,async-await,Javascript,Asynchronous,Async Await,我正在尝试创建两个函数,一个函数获得两周,另一个函数创建一个提示,我希望在其中显示周,这就是我尝试的: let weeks = {}; async function getWeeks() { await sql.open('./weeks.db'); sql.get(`SELECT * FROM weeks WHERE id = "1"`).then(row => { weeks.firstWeek = row.week; }).catch(con
let weeks = {};
async function getWeeks() {
await sql.open('./weeks.db');
sql.get(`SELECT * FROM weeks WHERE id = "1"`).then(row => {
weeks.firstWeek = row.week;
}).catch(console.error);
sql.get(`SELECT * FROM weeks WHERE id = "2"`).then(row => {
weeks.secondWeek = row.week;
}).catch(console.error);
sql.close();
}
await getWeeks().then(async function() {
makeEdits();
});
async function makeEdits() {
message.channel.send(new Discord.RichEmbed().setTitle(`Which week do you want?`).setDescription(`You have to also await
the sql.get
calls, and you could refactor your .then
s to await
s to improve readability:
async function getWeeks() {
const weeks = {}; // local scope helps to prevent racing errors
await sql.open('./weeks.db');
try {
const row = await sql.get(`SELECT * FROM weeks WHERE id = "1"`);
weeks.firstWeek = row.week;
} catch(error) { console.error(error); }
try {
const row = await sql.get(`SELECT * FROM weeks WHERE id = "2"`);
weeks.secondWeek = row.week;
} catch(error) { console.error(error); }
sql.close();
return weeks;
}
function makeEdits(weeks) { /*...*/ }
makeEdits(await getWeeks());
let weeks={};
异步函数getWeeks(){
等待sql.open('./weeks.db');
get(`SELECT*fromsweeks,其中id=“1”`)。然后(行=>{
weeks.firstWeek=row.week;
}).catch(控制台错误);
get(`SELECT*fromsweeks,其中id=“2”`)。然后(行=>{
weeks.secondWeek=row.week;
}).catch(控制台错误);
sql.close();
}
等待getWeeks()。然后(异步函数(){
makeEdits();
});
异步函数makeEdits(){
message.channel.send(new Discord.RichEmbed().setTitle(`you want's week?`).setDescription(`您还必须wait
sql.get
调用,您可以重构。然后s到wait
s以提高可读性:
您还必须wait
sql.get
调用,您可以重构。然后s到wait
s以提高可读性:
您还必须等待sql.get()
调用。谢谢,之后它工作了。您还必须等待sql.get()
调用。谢谢,之后它工作了