【问题标题】:Gmail API after deleting a draft, sidebar and counter not updated删除草稿后的 Gmail API、侧边栏和计数器未更新
【发布时间】:2019-06-01 12:04:35
【问题描述】:

我遇到了问题。在我打开一个新的撰写视图顶部以编程方式删除草稿后,我运行下面的块以丢弃草稿。最初我认为这不起作用,因为当我执行它时,我仍然可以在左侧边栏和计数器中看到该项目。但是当我刷新页面时,我可以看到草稿确实被删除了。想法?

private async discardDraft() {
    const draftId = await this.composeView.getCurrentDraftID();
    gmailService.discardDraft(draftId);
    this.composeView.close();
}

export async function discardDraft(draftId: string) {
    return request.delete(`/gmail/v1/users/me/drafts/${draftId}`).then(res => true);
}

【问题讨论】:

标签: javascript gmail-api


【解决方案1】:

删除更新后再次尝试获取草稿列表,实质上将您的discardDraft函数更改为:

export async function discardDraft(draftId: string) {
    await request.delete(`/gmail/v1/users/me/drafts/${draftId}`);
    return request.list('/gmail/v1/users/me/drafts').then(res => true);
}

希望对您有所帮助!

【讨论】:

    【解决方案2】:

    这看起来很奇怪。作为一种自动解决问题的解决方法,您可以使用 ListRouteView 的 refresh() 方法,该方法基本上会模拟从 Gmail 面板按下刷新按钮的动作(不会重新加载整个页面)。

    如果您不喜欢这个“不那么干净”的选项,您可以查看此documentation,也许您可​​以找到更多有趣的功能,这些功能将为您提供更多关于可能的解决方法的想法。

    【讨论】:

      猜你喜欢
      • 2019-10-14
      • 2015-05-29
      • 2014-09-02
      • 2018-02-26
      • 2018-02-20
      • 1970-01-01
      • 2017-07-15
      • 1970-01-01
      • 2014-10-19
      相关资源
      最近更新 更多