Javascript Node js return不返回任何内容
我试图恢复函数的值,但它不返回任何内容 这是一个函数(请求是一个异步函数,用于生成get请求): 这就是我恢复价值的方法Javascript Node js return不返回任何内容,javascript,node.js,asynchronous,Javascript,Node.js,Asynchronous,我试图恢复函数的值,但它不返回任何内容 这是一个函数(请求是一个异步函数,用于生成get请求): 这就是我恢复价值的方法 var retObj = getVolumesOKCoin(pair); retObj的值未定义 恢复价值的最佳方式是什么 感谢您的帮助。第一件事:您的函数名为getvolumesokoin,而不是getVolumes 但是您的函数仍然不会返回任何内容,因为您调用的异步函数在返回数据之前需要一些时间来接收数据 一种解决方案是将函数体封装在所谓的Promise中,并在收到数
var retObj = getVolumesOKCoin(pair);
retObj的值未定义
恢复价值的最佳方式是什么
感谢您的帮助。第一件事:您的函数名为
getvolumesokoin
,而不是getVolumes
但是您的函数仍然不会返回任何内容,因为您调用的异步函数在返回数据之前需要一些时间来接收数据
一种解决方案是将函数体封装在所谓的Promise
中,并在收到数据后立即解析它
var getVolumesOKCoin = function(pair) {
return new Promise( ( resolve, reject ) => {
request('https://www.okcoin.com/api/v1/depth.do?symbol=' + pair, (error, response, body) => {
resolve( body );
} );
} );
}
getVolumesOKCoin()
.then( ( body ) => {
console.log( body );
} )
.catch( ( err ) => {
console.error( 'Error!' );
} );
还要确保定义了请求。第一件事:您的函数被调用为
getVolumesOKCoin
,而不是getVolumes
但是您的函数仍然不会返回任何内容,因为您调用的异步函数在返回数据之前需要一些时间来接收数据
一种解决方案是将函数体封装在所谓的Promise
中,并在收到数据后立即解析它
var getVolumesOKCoin = function(pair) {
return new Promise( ( resolve, reject ) => {
request('https://www.okcoin.com/api/v1/depth.do?symbol=' + pair, (error, response, body) => {
resolve( body );
} );
} );
}
getVolumesOKCoin()
.then( ( body ) => {
console.log( body );
} )
.catch( ( err ) => {
console.error( 'Error!' );
} );
还要确保定义了请求。简单地将返回添加到请求
var getVolumesOKCoin = function(pair){
return request('https://www.okcoin.com/api/v1/depth.do?symbol=' + pair, function (error, response, body) {
return body;
});
}
简单地将返回添加到请求
var getVolumesOKCoin = function(pair){
return request('https://www.okcoin.com/api/v1/depth.do?symbol=' + pair, function (error, response, body) {
return body;
});
}
“这就是你没有定义的原因。”不,不是这样的。如果名称确实不正确,那么他们会得到一个
ReferenceError
@FelixKling您是对的。谢谢你指出。@lumio工作得很好,关于未定义的评论是在你的解决方案“我的坏不是你的”之后完成的。“这就是为什么你得到未定义的。”不,不是这样的。如果名称确实不正确,那么他们会得到一个ReferenceError
@FelixKling您是对的。谢谢你指出它。@lumio工作得很好,关于未定义的注释是在你的解决方案之后完成的。我不好,不是你关于函数名称的教授,它们在我的代码中是相同的,我编辑了以简化问题,你可以用你的问题来解决它。@FelixKling编辑了谢谢你关于函数名称的提示,它们在我的代码中是相同的,我编辑了以简化问题。您可以通过编辑您的问题来解决这些问题。@FelixKling编辑谢谢您的提示您确定这会起作用吗?请求
返回什么?您确定这会起作用吗?请求
返回什么?