专栏名称: 大迁世界
掘金LV8,思否10万+的作者。一个热爱前端的创业者。
目录
相关文章推荐
今天看啥  ›  专栏  ›  大迁世界

在JavaScript中从外部解决Promise:实际应用场景

大迁世界  · 公众号  ·  · 2024-08-27 08:35

文章预览

这是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 () {   ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览