//获取UserID
var datas ={CultureName: 'zh-CN', EntCode: '1001', OrgCode: 'SD001', UserCode: 'admin'}
//bodyString 数据
var arrList = {
context : datas,
appID:9221508317,
pushProgram: "ASN单",
senderSys: 1
}
var bodyString = JSON.stringify(arrList)
var options = {
host: '10.108.21.13',
port: 80,
path: 'XXXXXXXXX',
method: 'POST',
headers:{
'Content-Type':'application/json',
'Content-Length':bodyString.length
}
};
var Remark;
let req=http.request(options,function(res){
res.setEncoding('utf-8');
let UserresponseStringS = '';
res.on('data', function(data) {
// return data;
UserresponseStringS += data;
var responseStrings1 = JSON.parse(UserresponseStringS) ;
var Strings1 = JSON.parse(responseStrings1.d) ;
console.log('-----resBody-----',Strings1);
Remark = Strings1.Result;
console.log('-----Remark -----',Remark ); //Remark 可正常打印
});
res.on('end', function() {
console.log('-----resBody-----',UserresponseStringS);
});
req.on('error', function(e) {
// TODO: handle error.
console.log('-----error-------',e);
});
});
req.write(bodyString);
req.end();
}
getUser返回Promise,然后整个async 函数await等待getUser的返回,调用这个新函数而不是getUser,示例如下
async function getUserData() {//调用这个函数,不是直接调用getUser,需要数据的代码放到这个函数里面
var data = await getUser();
//后续的代码
}
function getUser() {
return new Promise((resolve, reject) => {
//获取UserID
var datas = { CultureName: 'zh-CN', EntCode: '1001', OrgCode: 'SD001', UserCode: 'admin' }
//bodyString 数据
var arrList = {
context: datas,
appID: 9221508317,
pushProgram: "ASN单",
senderSys: 1
}
var bodyString = JSON.stringify(arrList)
var options = {
host: '10.108.21.13',
port: 80,
path: 'XXXXXXXXX',
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Content-Length': bodyString.length
}
};
var Remark;
let req = http.request(options, function (res) {
res.setEncoding('utf-8');
let UserresponseStringS = '';
res.on('data', function (data) {
// return data;
UserresponseStringS += data;
var responseStrings1 = JSON.parse(UserresponseStringS);
var Strings1 = JSON.parse(responseStrings1.d);
console.log('-----resBody-----', Strings1);
Remark = Strings1.Result;
resolve(Remark);///////////////////////////////////
console.log('-----Remark -----', Remark); //Remark 可正常打印
});
res.on('end', function () {
console.log('-----resBody-----', UserresponseStringS);
});
req.on('error', function (e) {
// TODO: handle error.
console.log('-----error-------', e);
});
});
req.write(bodyString);
req.end();
})
}
这样定义
async function getUser() {
return new Promise ((resolve) => {
//获取UserID
var datas = { CultureName: 'zh-CN', EntCode: '1001', OrgCode: 'SD001', UserCode: 'admin' }
//bodyString 数据
var arrList = {
context: datas,
appID: 9221508317,
pushProgram: "ASN单",
senderSys: 1
}
var bodyString = JSON.stringify(arrList)
var options = {
host: '10.108.21.13',
port: 80,
path: 'XXXXXXXXX',
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Content-Length': bodyString.length
}
};
var Remark;
let req = http.request(options, function (res) {
res.setEncoding('utf-8');
let UserresponseStringS = '';
res.on('data', function (data) {
// return data;
UserresponseStringS += data;
var responseStrings1 = JSON.parse(UserresponseStringS);
var Strings1 = JSON.parse(responseStrings1.d);
console.log('-----resBody-----', Strings1);
Remark = Strings1.Result;
resolve(Remark)
console.log('-----Remark -----', Remark); //Remark 可正常打印
});
res.on('end', function () {
console.log('-----resBody-----', UserresponseStringS);
});
req.on('error', function (e) {
// TODO: handle error.
console.log('-----error-------', e);
});
});
req.write(bodyString);
req.end();
})
}
然后这样获取
getUser().then(res => {
console.log('remark', res)
})
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!