我正在尝试获取返回.cert主体的请求,但是使用bluebird的.spread似乎只返回1个参数而不是它应该返回的两个参数。
<?php
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$eh = $steamprofile[steamid];
$sql = "SELECT steamid FROM Main";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
if (($row["steamid"]) == $steamprofile['steamid']){
echo "SteamID Is Equal and Created!";
}
}
} else {
echo "Nope?";
}
$conn->close();
?>
这将抛出一个未定义主体的错误。 Response返回ENTIRE json格式,包括与结构混乱的字符串格式的证书。
我正在使用请求2.67.0和bluebird 3.1.1。 这是证书网址:https://static.gc.apple.com/public-key/gc-prod-2.cer
答案 0 :(得分:6)
Bluebird 3.0将promisification更改为默认为仅在执行promisification时使用第一个参数。
在致电Promise.promisifyAll(require("request"))
时,您需要传递第二个参数,表明您对所有参数感兴趣Promise.promisifyAll(require("request"), {multiArgs: true})
或者,您可以使用request-promise
包为您执行此操作以及其他一些小修复(它在内部使用蓝鸟)。