Meteor.http.call:如何将Meteor.http.call的结果分配给服务器端的变量?

Meteor.http.call:如何将Meteor.http.call的结果分配给服务器端的变量?,meteor,Meteor,我有以下代码: Meteor.http.call(“POST”,“/abcd/efd”,{data:payload},函数(错误,结果){ 如果(错误){ //... }否则{ myresult=结果 } }); log(“myresult-->”,myresult)//此处未定义myresult 我无法使用会话,因为代码在服务器端。您正在调用一个异步函数,这就是 console.log(“myresult-->”,myresult)//myresult在此未定义 在执行Meteor.htt

我有以下代码:

Meteor.http.call(“POST”,“/abcd/efd”,{data:payload},函数(错误,结果){ 如果(错误){ //... }否则{ myresult=结果 } }); log(“myresult-->”,myresult)//此处未定义myresult
我无法使用会话,因为代码在服务器端。

您正在调用一个异步函数,这就是

console.log(“myresult-->”,myresult)//myresult在此未定义
在执行
Meteor.http.call
后立即调用,无论是否收到结果

但是,由于您位于服务器端,因此可以轻松调用http的同步版本:

从'meteor/HTTP'导入{HTTP}
const myresult=HTTP.call(“POST”、“/abcd/efd”、{data:payload});
log(“myresult-->”my result)//myresult在这里定义

更多阅读内容:

您正在调用一个异步函数,这就是

console.log(“myresult-->”,myresult)//myresult在此未定义
在执行
Meteor.http.call
后立即调用,无论是否收到结果

但是,由于您位于服务器端,因此可以轻松调用http的同步版本:

从'meteor/HTTP'导入{HTTP}
const myresult=HTTP.call(“POST”、“/abcd/efd”、{data:payload});
log(“myresult-->”my result)//myresult在这里定义
更多详情请参阅: