【发布时间】:2019-01-24 01:30:17
【问题描述】:
我有以下代码:
'use strict';
const Request = require('request');
class CryptoKetHandlers {
static async coins(ctx) {
try {
var CONTENT_TYPE = 'application/json';
console.log(`## Hitting cryptoket coins api for coins list ...`);
var res = await Request.get({
url: 'https://api.cryptoket.io/info/currencies',
headers: {
'Content-Type': CONTENT_TYPE,
}
}, (err, res, body) => {
//console.log(`Inside response ... res: ${res} err: ${err} body: ${body}`);
if (err) {
console.log(`#### ERROR :: API RESP :: CryptoKetHandlers :: coins :: exception :: ${err}`);
ctx.throw(500);
} else {
let res = {};
res.body = body;
res.status = 200;
return res;
}
});
} catch (ex) {
console.log(`#### ERROR :: CryptoKetHandlers :: coins :: exception :: ${ex}`);
ctx.throw(500);
}
console.log(`######### Final Response :: status - ${res.status} body - ${res.body} res :: ${res}`);
ctx.body = res;
ctx.status = 200;
}
}
module.exports = CryptoKetHandlers;
我来自 Java 背景,是 koa 和 nodejs 的新手,所以想知道如何才能实现以下目标:
- 为什么 res.status 和 res.body 总是返回 undefined?
- 如何将 CONTENT_TYPE 声明为应该是 const & static 的类变量?
想要实现的是:
-
从 Request.get 中返回所有这些 err、res、body 参数和
在其他地方(在另一个类函数中)处理它。- 使所有可重用的变量类级别,这样就不需要一次又一次地定义。
- 如果您有一些建议可以让我的代码更健壮、更简洁。
我通过谷歌搜索尝试了各种方法,但没有成功,所以在这里问。
提前致谢。
【问题讨论】:
标签: javascript jquery node.js ecmascript-6 koa