gpt4 book ai didi

javascript - 表达 router.get() 函数语法错误

转载 作者:行者123 更新时间:2023-12-03 12:39:17 25 4
gpt4 key购买 nike

我正在尝试创建一条从 JSON-RPC API 返回 JSON 数据的路由。

我的代码:

router.get('/balance', function(req, res, client) {
res.json({
client.getBalance('*', 1, function(err, balance) {
if(err)
console.log(err);
else
console.log('Balance: ', balance);
});
});
});

它使用 npm 包 node-litecoin。我需要它并创建了一个客户端变量,如下所示:

var client = new litecoin.Client({
host: 'localhost',
port: 9332,
user: 'myaccount',
password: 'mypass'
});

client.getBalance('*', 1, 函数(错误, 余额) { ^语法错误:意外的标记。

为什么我会收到此错误?

最佳答案

Why am I getting this error?

因为 client.getBalance('*', 1, function(err, Balance) { 不能出现在您放置它的位置。

让我们仔细看看:

res.json({ ... });

这里的{...}表示object literal 。文字的“内容”必须是逗号分隔的 key: value 对列表,例如

res.json({foo: 'bar'});

您可以在那里放置一个函数调用:

res.json({ client.getBalance(...) });

这根本就是无效的。

<小时/>

How can I have the route '/balance' output the client.getBalance() function?

看起来 client.getBalance 是一个异步函数调用,因此将其返回值传递给 res.json 也不起作用。您必须将回调中获得的结果传递给 res.json:

router.get('/balance', function(req, res) {
client.getBalance('*', 1, function(err, balance) {
if(err)
console.log(err);
else
console.log('Balance: ', balance);

res.json(balance);
});
});

如果您对 JavaScript 语法不是很熟悉,我建议您阅读MDN JavaScript Guide .

关于javascript - 表达 router.get() 函数语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23587018/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com