我对javascript很新,我正在尝试进行API调用,但它一直说curr_price(我要返回的内容)是未定义的?我认为这可能与javascript的异步性有关,但我不确定?任何帮助将不胜感激!!
## generate the data
N=2000
dim=dim
U=runif(N, min=0,max=1)
#set.seed(123)
#U=runif(N, min=0,max=1)
X = matrix(NA, nrow=N, ncol=3)
for (i in 1:N){
if(U[i] < 0.5){
X[i,] <- rCopula(1,claytonCopula(1,dim=3)) ## must be lower tail
} else if (U[i] < 0.3) {
X[i,] <- rCopula(1,gumbelCopula(7,dim=3)) ## must be upper tail
}else{
X[i,] <- rCopula(1,frankCopula(2,dim=3))
}
}
答案 0 :(得分:0)
我会说你猜对了,我不完全确定,但这可能与异步性质有关。我假设是这样的,因为我认为你已经检查了对象及其属性,看它实际上不是undefined
。你做的AJAX调用需要时间,但是ajax调用之后的代码行会立即执行并且不等待http响应,这就是你得到undefined
的原因。
您可以通过将调用移至getPrice()
内的res.on('data', ...)
来解决此问题。
更一般地说,您需要在响应处理程序函数本身内使用http响应执行所需的一切。
您可以参考this video以便更好地理解。该视频展示了与您所拥有的问题非常相似的问题。