# HG changeset patch # User Yaroslav Zhuravlev # Date 1637309997 0 # Node ID 24b379907b0fdb23f3fa191d97a5d0d766047b09 # Parent cf75284a3557663414034cd6a9d5b334ed3b1c61 Added async and await to njs Examples. diff -r cf75284a3557 -r 24b379907b0f xml/en/docs/njs/examples.xml --- a/xml/en/docs/njs/examples.xml Tue Nov 16 17:53:31 2021 +0300 +++ b/xml/en/docs/njs/examples.xml Fri Nov 19 08:19:57 2021 +0000 @@ -9,7 +9,7 @@
+ rev="21">
@@ -225,30 +225,29 @@ http.js: -function set_keyval(r) { - r.subrequest('/api/7/http/keyvals/foo', +async function set_keyval(r) { + let res = await r.subrequest('/api/7/http/keyvals/foo', { method: 'POST', - body: JSON.stringify({ foo: 789, bar: "ss dd 00" })}, + body: JSON.stringify({ foo: 789, bar: "ss dd 00" })}); - function(res) { - if (res.status >= 300) { - r.return(res.status, res.responseBody); - return; - } - r.return(500); - }); + if (res.status >= 300) { + r.return(res.status, res.responseBody); + return; + } + + r.return(200); } -function version(r) { - r.subrequest('/api/7/nginx', { method: 'GET' }, function(res) { - if (res.status != 200) { - r.return(res.status); - return; - } +async function version(r) { + let res = await r.subrequest('/api/7/nginx', { method: 'GET' }); - var json = JSON.parse(res.responseBody); - r.return(200, json.version); - }); + if (res.status != 200) { + r.return(res.status); + return; + } + + var json = JSON.parse(res.responseBody); + r.return(200, json.version); } export default {set_keyval, version}; @@ -333,20 +332,23 @@ http.js: -function content(r) { - r.subrequest('/auth') - .then(reply => JSON.parse(reply.responseBody)) - .then(response => { - if (!response['token']) { - throw new Error("token is not available"); - } - return reply['token']; - }) - .then(token => { - r.subrequest('/backend', `token=${token}`) - .then(reply => r.return(reply.status, reply.responseBody)); - }) - .catch(_ => r.return(500)); +async function content(r) { + try { + let reply = await r.subrequest('/auth'); + let response = JSON.parse(reply.responseBody); + let token = response['token']; + + if (!token) { + throw new Error("token is not available"); + } + + let backend_reply = await r.subrequest('/backend', `token=${token}`); + r.return(backend_reply.status, backend_reply.responseBody); + + } catch (e) { + r.error(e); + r.return(500); + } } export default {content}; diff -r cf75284a3557 -r 24b379907b0f xml/ru/docs/njs/examples.xml --- a/xml/ru/docs/njs/examples.xml Tue Nov 16 17:53:31 2021 +0300 +++ b/xml/ru/docs/njs/examples.xml Fri Nov 19 08:19:57 2021 +0000 @@ -9,7 +9,7 @@
+ rev="21">
@@ -224,30 +224,29 @@ http.js: -function set_keyval(r) { - r.subrequest('/api/7/http/keyvals/foo', +async function set_keyval(r) { + let res = await r.subrequest('/api/7/http/keyvals/foo', { method: 'POST', - body: JSON.stringify({ foo: 789, bar: "ss dd 00" })}, + body: JSON.stringify({ foo: 789, bar: "ss dd 00" })}); - function(res) { - if (res.status >= 300) { - r.return(res.status, res.responseBody); - return; - } - r.return(500); - }); + if (res.status >= 300) { + r.return(res.status, res.responseBody); + return; + } + + r.return(200); } -function version(r) { - r.subrequest('/api/7/nginx', { method: 'GET' }, function(res) { - if (res.status != 200) { - r.return(res.status); - return; - } +async function version(r) { + let res = await r.subrequest('/api/7/nginx', { method: 'GET' }); - var json = JSON.parse(res.responseBody); - r.return(200, json.version); - }); + if (res.status != 200) { + r.return(res.status); + return; + } + + var json = JSON.parse(res.responseBody); + r.return(200, json.version); } export default {set_keyval, version}; @@ -332,20 +331,23 @@ http.js: -function content(r) { - r.subrequest('/auth') - .then(reply => JSON.parse(reply.responseBody)) - .then(response => { - if (!response['token']) { - throw new Error("token is not available"); - } - return reply['token']; - }) - .then(token => { - r.subrequest('/backend', `token=${token}`) - .then(reply => r.return(reply.status, reply.responseBody)); - }) - .catch(_ => r.return(500)); +async function content(r) { + try { + let reply = await r.subrequest('/auth'); + let response = JSON.parse(reply.responseBody); + let token = response['token']; + + if (!token) { + throw new Error("token is not available"); + } + + let backend_reply = await r.subrequest('/backend', `token=${token}`); + r.return(backend_reply.status, backend_reply.responseBody); + + } catch (e) { + r.error(e); + r.return(500); + } } export default {content};