我想调用Web服务并获取对变量的字符串响应。这是我的代码。但是分配给变量的值是“未定义”。谁能帮我。
const request = require('request-promise');
function web() {
return request("https://8f41d5af.ngrok.io/webhook/testRequest")
.then(function(response) {
return JSON.parse(response);
});
}
function main() {
var y;
web().then(function(result) {
y = result;
});
console.log('response from server=>' + y)
}
答案 0 :(得分:0)
您应该在设置变量后打印
function main() {
var y;
web().then(function(result) {
y = result;
console.log('response from server=>' + y)
});
// this line executes before the value is set as it is set asynchronously
//console.log('response from server=>' + y)
}
您还可以确保对诺言进行正确的链接。
function web() {
return request("https://8f41d5af.ngrok.io/webhook/testRequest")
.then(function(response) {
//return JSON.parse(response);
return Promise.resolve(JSON.parse(response));
});
}