方法中的返回变量

时间:2018-09-20 15:56:54

标签: javascript html

我有这个方法“ allMuseums()”,它计算变量“ visitatori_all_musei”,现在我想以每次调用该方法都可以给出结果的方式返回该变量。

tsconfig

例如,我要执行console.log(allMuseums())并得到结果。 如果不是,我想将其分配给变量?例如“ var data = allMuseums()”?

2 个答案:

答案 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;
});