我有这个方法“ allMuseums()”,它计算变量“ visitatori_all_musei”,现在我想以每次调用该方法都可以给出结果的方式返回该变量。
tsconfig
例如,我要执行console.log(allMuseums())并得到结果。 如果不是,我想将其分配给变量?例如“ var data = allMuseums()”?
答案 0 :(得分:0)
通过ES6异步/等待,您可以使用此功能:
if(isset($_POST["sendOrder"]))
{
$uid = $_SESSION["userid"];
$sql = "UPDATE cart SET status = 'ordered' WHERE user_id = $uid";
$run_query = $cartAdd->connection->query($sql);
if($run_query){
$sqlOrder = "SELECT * FROM cart WHERE status = 'ordered' AND user_id = '$uid'";
$result = $cartAdd->connection->query($sqlOrder);
$RowNum = $result->num_rows;
$Items = $result->fetch_all(MYSQLI_ASSOC)){
$ownerId = $Items["owner_id"];
$productId = $Items["p_id"];
$userId = $Items["user_id"];
$dateCreated = $Items["duration"];
for($i = 0; $i <= $RowNum; $i++){
$query = "INSERT INTO orders VALUES (NULL, '$userId[$i]', '$ownerId[$i]', '$productId[$i]', '$dateCreated[$i]')";
$cartAdd->connection->query($query);
}
}
// if($cartAdd->createOrder($uid, $ownerId, $productId, $dateCreated) == TRUE){
// echo '<div class="alert alert-success alert__no__border alert-dismissible fade show" role="alert"><button type="button" class="close" data-dismiss="alert"><span>×</span></button>Your order has been sent</div>';
// }
}
}`
有了诺言,您可以使用:
async function allMuseums() {
var nomeFile = "dati_musei.csv";
var visitatori_all_musei;
var mese_anno = [];
await d3.dsv(";", nomeFile, function(d) {
return {
Museo: d.Museo,
Ingresso: d.Ingresso,
Anno: d.Anno,
Mese: d.Mese,
Visitatori: d.Visitatori
}
}).then(function(data) {
visitatori_all_musei = filtraggio(data);
});
return visitatori_all_musei
};
这将返回一个承诺,因此您必须执行function allMuseums() {
var nomeFile = "dati_musei.csv";
var mese_anno = [];
return d3.dsv(";", nomeFile, function(d) {
return {
Museo: d.Museo,
Ingresso: d.Ingresso,
Anno: d.Anno,
Mese: d.Mese,
Visitatori: d.Visitatori
}
}).then(function(data) {
return filtraggio(data);
});
};
答案 1 :(得分:0)
返回承诺和回调值:
function allMuseums() {
var nomeFile = "dati_musei.csv";
var mese_anno = [];
//return here
return d3.dsv(";", nomeFile, function (d) {
return {
Museo: d.Museo,
Ingresso: d.Ingresso,
Anno: d.Anno,
Mese: d.Mese,
Visitatori: d.Visitatori
};
}).then(data) {
return filtraggio(data);//return here
});
};
使用异步/等待:
async function allMuseums() {
let nomeFile = "dati_musei.csv";
let mese_anno = [];
let data = await d3.dsv(";", nomeFile, function (d) {
return {
Museo: d.Museo,
Ingresso: d.Ingresso,
Anno: d.Anno,
Mese: d.Mese,
Visitatori: d.Visitatori
};
});
return filtraggio(data);
};
记录输出:
allMuseums().then(console.log);
分配和其他任何东西:
allMuseums().then(data => {
//do something here
let myvar = data;
});