React native手动拒绝promise

时间:2017-02-25 10:24:45

标签: react-native promise

我基本上试图将React Native GPS功能包装成Promise。 当我到达navigator.geolocation.getCurrentPosition的失败回调时,我想手动拒绝承诺。

这里有相关代码:

var p = new Promise();

navigator.geolocation.getCurrentPosition(
     (position) => { ... all good here ... },
     (error) => {
         // trying to reject manually a Promise
         p.reject(error);
     }
);

问题:

  1. 如果我没有在Promise参数中传递任何函数,那么第一行会出现not a function错误
  2. 如果我通过了一项功能,我会undefined is not a function evaluating p.reject

1 个答案:

答案 0 :(得分:3)

我把Promise与一个类似Angular的延期承诺混为一谈。

一种工作方式是将GPS功能包装成Promise,如下所示:

return new Promise(function(resolve, reject) {
   navigator.geolocation.getCurrentPosition(
      (position) => {
         resolve('All good');
      },
      (error) => {
         reject(error);
      }
   );
});