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

时间:2016-03-02 23:34:09

标签: javascript

我的功能从商店删除数据,但同时我想保存删除时间,所以我尝试使用返回两次是正确的,就像我在函数中写道或以后导致任何问题?感谢您的帮助

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

3 个答案:

答案 0 :(得分:0)

这将导致唯一的问题是第二个return语句永远不会执行。

可能你可以重写这样的return语句......

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

这将返回" true"如果两个陈述都成功另外" store.delete"如果" saveItemInStore"将不会执行失败。您需要确定这是否适合您的情况。

答案 1 :(得分:0)

对象是量身定制的,允许您从函数返回多条信息。只需在单个对象上创建所需数量的属性并返回该对象。当然,调用函数的代码需要知道返回的内容并相应地使用它。



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;

}
&#13;
&#13;
&#13;

答案 2 :(得分:0)

或许像this这样的东西适合你的账单。

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 question以了解有关自执行函数的更多信息。