繁体   English   中英

在JavaScript中的回调函数的回调函数内调用函数

[英]Calling a function within a callback function of a callback function in Javascript

我对javascript编程很陌生,所以我想把头放在回调函数上。 我想我已经接近了,但一直遇到障碍。

我正在使用jquery发布到REST api,我需要依次调用一个函数,然后调用另一个函数。 通过查找答案,我发现我需要使用回调函数。

我在函数中使用了以下脚本,但该脚本始终在第一个回调处停止,因此我知道我遗漏了一些东西,但是在测试加载后我无法弄清楚是什么。 请问有人能帮我弄清楚我要去哪里了吗?

根据反馈编辑代码

this.placeNewOrder = function(){
  if(items.length ==0){
    alert("it was 0");
    this.addToOrder();
    newOrder(username, password, Id,function(){postOrder(username, password, Id, currentId);});
  }
}

this.newOrder = function(username, password, Id, callback){
  //some code
  var username = username;
  var password = password;
  var Id = resultOfSomeCalculation;

  callback(username,password,result,this.currentId);
  alert("callback2 called");
};

this.postOrder = function(username, password, Id, currentId){
  //some code
  alert("finished");
};

针对此用例引入了JavaScript Promise。

一个承诺是创建承诺时,不一定要知道一个值的代理。 它允许您将处理程序与异步操作的最终成功值或失败原因相关联。 这使异步方法可以像同步方法一样返回值:异步方法返回立即提供最终值的承诺,而不是立即返回最终值。

承诺处于以下状态之一:

  • 待定:初始状态,未实现或拒绝。
  • 完成:表示操作成功完成。
  • 拒绝:表示操作失败。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM