文章预览
这是JavaScript中那些在现实世界中极其强大的酷炫技巧之一。 强大的实际应用场景 动作(A)等待另一个动作(B) A正在进行,但用户想做B,而A需要先发生。 例如:社交应用,用户可以创建、保存和发布帖子。就像Medium。 Save status: "save-status" >Not saved Publish status: "publish-status" >Not published "save">Save "publish">Publish 如果用户想在帖子保存时发布怎么办? 解决方案:确保在发布之前帖子已保存。 saveButton.onclick = () => { save(); }; publishButton.onclick = async () => { await publish(); }; let saveResolve; let hasSaved = false ; async function save () { hasSaved = false ; saveStatus.textContent = 'Saving...' ; // ✅ Resolve promise from outside await makeSaveRequest(); saveResolve(); hasSaved = true ; saveStatus.textContent = 'Saved' ; } async function waitForSave () {
………………………………