Add api docs translations
authorJohn-Lin <linton.tw@gmail.com>
Fri, 4 Sep 2015 07:42:57 +0000 (15:42 +0800)
committerJohn-Lin <linton.tw@gmail.com>
Fri, 4 Sep 2015 07:42:57 +0000 (15:42 +0800)
docs-translations/zh-TW/api/ipc-main-process.md [new file with mode: 0644]

diff --git a/docs-translations/zh-TW/api/ipc-main-process.md b/docs-translations/zh-TW/api/ipc-main-process.md
new file mode 100644 (file)
index 0000000..00e73ef
--- /dev/null
@@ -0,0 +1,69 @@
+# ipc (主行程)
+
+當在主行程裡使用 `ipc` 模組,這個模組負責處理來自渲染行程(網頁)的非同步與同步訊息。
+來自渲染器的訊息將會被注入到這個模組裡。
+
+## 傳送訊息
+
+同樣的也可以透過主行程來傳送訊息到渲染行程,更多資訊請參考 [WebContents.send](browser-window.md#webcontentssendchannel-args)
+
+- 當傳送一個訊息, 事件名稱為 `channel`
+- 回覆同步訊息,你需要設定 `event.returnValue`
+- 送出一個非同步訊息回給發送端,你可以使用 `event.sender.send(...)`
+
+這裏是一個傳送和處理訊息的範例,在渲染行程與主行程之間:
+
+```javascript
+// 在主行程裡
+var ipc = require('ipc');
+ipc.on('asynchronous-message', function(event, arg) {
+  console.log(arg);  // 輸出 "ping"
+  event.sender.send('asynchronous-reply', 'pong');
+});
+
+ipc.on('synchronous-message', function(event, arg) {
+  console.log(arg);  // 輸出 "ping"
+  event.returnValue = 'pong';
+});
+```
+
+```javascript
+// 在渲染行程裡 (網頁).
+var ipc = require('ipc');
+console.log(ipc.sendSync('synchronous-message', 'ping')); // 輸出 "pong"
+
+ipc.on('asynchronous-reply', function(arg) {
+  console.log(arg); // 輸出 "pong"
+});
+ipc.send('asynchronous-message', 'ping');
+```
+
+## 聆聽訊息
+
+`ipc` 模組擁有下列幾個方法去聆聽事件:
+
+### `ipc.on(channel, callback)`
+
+* `channel` String - 事件名稱
+* `callback` Function
+
+當一個事件發生 `callback` 會帶著 `event` 物件和一個訊息 `arg`
+
+## IPC 事件
+
+`event` 物件被傳入 `callback` 具有以下幾個方法:
+
+### `Event.returnValue`
+
+設定這個值可以回傳一個同步訊息
+
+### `Event.sender`
+
+回傳 `WebContents` 可以送出訊息
+
+### `Event.sender.send(channel[, arg1][, arg2][, ...])`
+
+* `channel` String - 事件名稱
+* `arg` (選用)
+
+此傳送訊息是非同步的訊息,至渲染行程,可以是一個一系列的參數 `arg` 可以是任何型態。