我无法从函数中获取返回对象,因此可以在下一个应由promise.then()
调用的函数中重用它。
努力研究,找不到解决方法。
engine.log
基本上等同于我的应用程序中的console.log
。
firstRequest
.then( function (result) {
return secondRequest(result)
},error => engine.log(error)
)
.then(
result => engine.log(result),// result is undefined,need the object here
)
let firstRequest = new Promise(function(resolve,reject) {
http.simpleRequest({
'method': 'GET','url': theUrl,'dataType': 'json','timeout': 6000,},function (error,response) {
if (error) {
engine.log("Error: " + error)
reject()
}
if (response.statusCode != 200) {
engine.log("HTTP Error: " + response.status)
reject()
}
myobject = JSON.parse(response.data)
resolve(myobject)
})
});
function secondRequest(request) {
http.simpleRequest({
'method': 'GET','url': theSecondUrl,response) {
if (error) {
engine.log("Error: " + error);
}
if (response.statusCode != 200) {
engine.log("HTTP Error: " + response.status);
}
myobject = JSON.parse(response.data)
return myobject // this is not being returned,to the .then()
})
}