teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

async/promise や ; の有無を揃えた

2017/03/16 17:25

投稿

ryls-nmm
ryls-nmm

スコア633

answer CHANGED
@@ -6,7 +6,7 @@
6
6
  const tabs = await browser.tabs.query({currentWindow: true, active: true})
7
7
  const tabid = tabs[0].id
8
8
  browser.tabs.sendMessage(tabid , {data: 100})
9
- .then(e => console.log(e)).catch(e => console.error(e));
9
+ .then(e => console.log(e)).catch(e => console.error(e))
10
10
  // Error: Could not establish connection. Receiving end does not exist.
11
11
  })
12
12
  ```
@@ -22,14 +22,14 @@
22
22
  const tabid = tabs[0].id
23
23
  await browser.tabs.executeScript(tabid, {
24
24
  code: `
25
- browser.runtime.onMessage.addListener(request => {
25
+ browser.runtime.onMessage.addListener(async request => {
26
26
  console.log(request)
27
- return Promise.resolve({response: "ok"})
27
+ return {response: "ok"}
28
28
  })
29
29
  `
30
30
  })
31
31
  browser.tabs.sendMessage(tabid, {data: 100})
32
- .then(e => console.log(e)).catch(e => console.error(e));
32
+ .then(e => console.log(e)).catch(e => console.error(e))
33
33
  // Object { response: "ok" }
34
34
  })
35
35
  ```
@@ -47,9 +47,9 @@
47
47
 
48
48
  [popup.js]
49
49
  ```javascript
50
- browser.runtime.onMessage.addListener(request => {
50
+ browser.runtime.onMessage.addListener(async request => {
51
51
  console.log(request)
52
- return Promise.resolve({response: "ok"})
52
+ return {response: "ok"}
53
53
  })
54
54
  ```
55
55
 
@@ -58,4 +58,8 @@
58
58
  `browser.runtime.onMessage.addListener` が正しく設定できているならロード済みになるのを待ってから `sendMessage` するだけで動くのではと思います。
59
59
 
60
60
 
61
- あと、たしか拡張機能のページだと tabs でなく runtime で通信できたと思います。(Chrome では。Firefoxは試してないです)
61
+ あと、たしか拡張機能のページだと tabs でなく runtime で通信できたと思います。(Chrome では。Firefoxは試してないです)
62
+
63
+ ---
64
+
65
+ コピペの影響でコードに統一性がなかったのでちょっと修正しました