从 promise 返回的值始终是未定义的
Value is always undefined returning from promise
我目前正在使用黑莓动态 SDK。
我目前正在使用 SDK 的 http 请求功能,但每次我想 return 来自 http 调用的响应始终未定义 - 我尝试将其承诺为 return 一个值,但是无济于事。
它最初使用了两个回调 - 正确地 return 我未定义,但如果我做出承诺,它不应该 return 我一个值。
代码
function constructGDHttpPostRequest(reqObj) {
let PostRequest = window.plugins.GDHttpRequest.createRequest("POST", URI + reqObj.endPoint, 30, false);
PostRequest.addRequestHeader('Content-Type', 'application/json');
PostRequest.addHttpBody(reqObj.body);
return SendRequest(PostRequest).then(function (httpRes) {
console.log(httpRes);
return httpRes;
})
}
function SendRequest(Request) {
return new Promise(function (resolve) {
resolve(Request.send(sendSuccess));
})
}
function sendSuccess(response) {
console.log("Received valid response from the send request");
let Response = window.plugins.GDHttpRequest.parseHttpResponse(response);
return JSON.parse(Response.responseText);
}
我已经尝试使用一些与此类问题相关的问题,但它仍然 return未从承诺中定义。
提前干杯。
根据@Nikos M. 的建议,这是已经完成的,现在可以正常工作了。
我需要解析回调才能return一个值。
我想通过一些建议使回调更清晰一些。
function constructGDHttpPostRequest(reqObj) {
let PostRequest = window.plugins.GDHttpRequest.createRequest("POST", URI + reqObj.endPoint, 30, false);
PostRequest.addRequestHeader('Content-Type', 'application/json');
PostRequest.addHttpBody(reqObj.body);
return SendRequest(PostRequest).then(function (httpRes) {
console.log(httpRes);
return httpRes;
})
}
function SendRequest(Request) {
return new Promise(function (resolve) {
Request.send(function (response) {
resolve(JSON.parse(window.plugins.GDHttpRequest.parseHttpResponse(response).responseText));
});
})
}
我目前正在使用黑莓动态 SDK。
我目前正在使用 SDK 的 http 请求功能,但每次我想 return 来自 http 调用的响应始终未定义 - 我尝试将其承诺为 return 一个值,但是无济于事。
它最初使用了两个回调 - 正确地 return 我未定义,但如果我做出承诺,它不应该 return 我一个值。
代码
function constructGDHttpPostRequest(reqObj) {
let PostRequest = window.plugins.GDHttpRequest.createRequest("POST", URI + reqObj.endPoint, 30, false);
PostRequest.addRequestHeader('Content-Type', 'application/json');
PostRequest.addHttpBody(reqObj.body);
return SendRequest(PostRequest).then(function (httpRes) {
console.log(httpRes);
return httpRes;
})
}
function SendRequest(Request) {
return new Promise(function (resolve) {
resolve(Request.send(sendSuccess));
})
}
function sendSuccess(response) {
console.log("Received valid response from the send request");
let Response = window.plugins.GDHttpRequest.parseHttpResponse(response);
return JSON.parse(Response.responseText);
}
我已经尝试使用一些与此类问题相关的问题,但它仍然 return未从承诺中定义。
提前干杯。
根据@Nikos M. 的建议,这是已经完成的,现在可以正常工作了。
我需要解析回调才能return一个值。
我想通过一些建议使回调更清晰一些。
function constructGDHttpPostRequest(reqObj) {
let PostRequest = window.plugins.GDHttpRequest.createRequest("POST", URI + reqObj.endPoint, 30, false);
PostRequest.addRequestHeader('Content-Type', 'application/json');
PostRequest.addHttpBody(reqObj.body);
return SendRequest(PostRequest).then(function (httpRes) {
console.log(httpRes);
return httpRes;
})
}
function SendRequest(Request) {
return new Promise(function (resolve) {
Request.send(function (response) {
resolve(JSON.parse(window.plugins.GDHttpRequest.parseHttpResponse(response).responseText));
});
})
}