Javascript 承诺API回调-如何正确解决或拒绝

Javascript 承诺API回调-如何正确解决或拒绝,javascript,callback,promise,asp.net-web-api,es6-promise,Javascript,Callback,Promise,Asp.net Web Api,Es6 Promise,我也读过类似的文章,但没有一篇文章完全击中了如何正确地做到这一点 我理解承诺,以及它们通常是如何在成功和失败的听众等待被触发来解决或拒绝的情况下产生的 我不明白的是,当我调用一个API方法,该方法将成功和失败回调作为参数时,-我如何确定触发了哪个回调,以便解决或拒绝它 例如,使用此Web API并考虑其提供的navigator.geolocation.getCurrentPosition方法: var options = { enableHighAccuracy: true, timeo

我也读过类似的文章,但没有一篇文章完全击中了如何正确地做到这一点

我理解承诺,以及它们通常是如何在成功和失败的听众等待被触发来解决或拒绝的情况下产生的

我不明白的是,当我调用一个API方法,该方法将成功和失败回调作为参数时,-我如何确定触发了哪个回调,以便解决或拒绝它

例如,使用此Web API并考虑其提供的navigator.geolocation.getCurrentPosition方法:

var options = {
  enableHighAccuracy: true,
  timeout: 5000,
  maximumAge: 0
};

function success(pos) {
  var crd = pos.coords;

  console.log('Your current position is:');
  console.log('Latitude : ' + crd.latitude);
  console.log('Longitude: ' + crd.longitude);
  console.log('More or less ' + crd.accuracy + ' meters.');
};

function error(err) {
  console.warn('ERROR(' + err.code + '): ' + err.message);
};

navigator.geolocation.getCurrentPosition(success, error, options);
当API发回一个成功或错误时,它将调用我给它的一个回调,但我不知道它将调用哪个回调来解决或拒绝它。

问题是: 监听哪个回调被触发的正确方法是什么?ES6如何预测这种API调用的结果?

类似于:

function getCurrentPositon(options){
   return new Promise(function(resolve, reject){   
     navigator.geolocation.getCurrentPosition(resolve, reject, options);
   });
}

您不知道调用了哪一个函数,相反,您会对这两个选项做出响应—如果失败则拒绝,如果成功则实现。

可能需要添加一个示例,说明如何调用promisified函数,以及如何通过完成OP的图片返回结果和错误。