记录promise解决js与oc交互中异步回调的实践

项目需求:更改h5与客户端(安卓,ios交互)的交互方法,使用第三方jsBridge
因为使用了js来定义方法,oc调用的模式(大坑)
导致兼容,页面刷新,客户端外调用等情况 难以解决
(因为需要,在交互方法之后进行判断,从而执行回调,而交互无法判断何时执行完毕)
面临的问题就是需要解决异步回调。
其中尝试了promise:

所谓Promise,简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果。

function initPage(callback){
     
//注册promise实例
var promise = new Promise(function(resolve, reject) {
     
  // js注册方法
  if (/* 异步操作成功 */){
     
    resolve();
  } else {
     
    reject();
  }
});
//回调
promise.then(function(value) {
     
  // success
  callback("success")
}, function(error) {
     
  // failure
  callback("failure")
});
}

后来失败的主要原因是:没有条件判断 异步操作成功

这个问题需要解决,需要尝试更换成,js调用oc注册的方法

但目前使用了比较粗暴的setTimeout来造成时间差

你可能感兴趣的:(Javascript,promise,异步回调,js)