我应该手动将lastError设置为null吗?

时间:2018-11-25 02:24:15

标签: google-chrome google-chrome-extension

我在Angular6类上有此辅助方法:

  saveToLocalStorage(key: string, val: any): Promise<void | LastErrorType> {
    return new Promise(function(resolve, reject) {
      chrome.storage.local.set({ [key]: val }, function() {
        if (chrome.runtime.lastError) {
          reject(chrome.runtime.lastError);
        } else {
          resolve();
        }
      });
    });
  }

几个月后再次查看此代码令我感到奇怪,我是否应该在此处手动将错误设置为null:

   chrome.storage.local.set({ [key]: val }, function() {
        if (chrome.runtime.lastError) {
          reject(chrome.runtime.lastError);
          chrome.runtime.lastError = null;  // <<< necessary?
        } else {
          resolve();
        }
      });

还是chrome.runtime以某种方式处理此问题?显然,在程序的后面,如果仍然定义了chrome.runtime.lastError,我会看到可能不再相关的错误?有人知道我在说什么吗?

1 个答案:

答案 0 :(得分:1)

不,您不必这样做。

According to the docschrome.runtime.lastError仅针对引发错误的特定事件的回调链设置。

一旦您处理了另一个事件,它将被重置。