小程序开发:第二个函数需要拿到第一个函数的结果才开始执行?

//多图上传方法,上传图片将路径返回给images
const images = uploadFiles(url)

//请求方法,携带图片所有路径返回给后台        
const res = request(images)

第一个函数上传图片耗时比较慢,第二个函数如何才能等到第一个执行完了拿到结果,才进行执行呢?

阅读 1.9k
2 个回答

用Promise 或者添加一个回调函数参数. 现在用Promise比较普遍, 也简单.

https://developer.mozilla.org...

let myFirstPromise = new Promise(function(resolve, reject){
    //当异步代码执行成功时,我们才会调用resolve(...), 当异步代码失败时就会调用reject(...)
    //在本例中,我们使用setTimeout(...)来模拟异步代码,实际编码时可能是XHR请求或是HTML5的一些API方法.
    setTimeout(function(){
        resolve("成功!"); //代码正常执行!
    }, 250);
});

myFirstPromise.then(function(successMessage){
    //successMessage的值是上面调用resolve(...)方法传入的值.
    //successMessage参数不一定非要是字符串类型,这里只是举个例子
    console.log("Yay! " + successMessage);
});
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题