簡體   English   中英

是否有可能在javascript函數中返回多次

[英]is it possible to return more than once in javascript function

我的函數從存儲中刪除數據,但同時我想保存刪除時間,因此我嘗試兩次使用return就像我在函數中寫的那樣,否則以后會導致任何問題嗎? 謝謝你的幫助

function deleteStudent( $indexedDB, student, $scope, studentId, userId) {
    return $indexedDB.openStore('student', function (store) {
        student["delete_time"] = new Date().toISOString();
        return saveItemInStore(store, student, userId);

        return store.delete(studentId);
    });
}

這將導致的唯一問題是第二個return語句將永遠不會執行。

可能您可以這樣重寫return語句...

return (saveItemInStore(store, student, userId) && store.delete(studentId));

如果兩個語句都成功,則將返回“ true”。 另外,如果“ saveItemInStore”失敗,則“ store.delete”將不會執行。 您需要確定這是否適合您的情況。

對象是量身定制的,使您可以從函數返回多條信息。 只需在單個對象上創建任意多個屬性,然后返回該對象即可。 當然,調用該函數的代碼需要知道返回的內容並相應地使用它。

 var desiredInfo = myFunc(); document.write("<p>I learned both to " + desiredInfo.first + " and to " + desiredInfo.second + ".</p>"); function myFunc() { var objToReturn = {}; var someAdvice = "buy low"; objToReturn.first = someAdvice; var moreAdvice = "sell high"; objToReturn.second = moreAdvice; return objToReturn; } 

也許類似這樣適合您的賬單。

function mytestfunc(){
    alert("I will be called first")
    return (function(){
    alert("I will be called second");
    //saveItemInStore placeholder
    return (function(){
        alert("I will be called third")
      //store.delete placeholder
    })();
  })();
}

mytestfunc();

另外,作為參考,請檢查此stackoverflow 問題以進一步了解自執行功能。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM