如何将DWR回调转换为带有承诺的Rest Fetch?

时间:2019-02-25 14:27:16

标签: javascript callback

这是将DWR调用转换成我想转换的回调的旧代码:

BpmAjaxControllerDwr.getEvents(businessUnit, objectTypeId, {
        callback : function(objectList) {
            eventSelectView.render(objectList);
        }

这就是我已经在工作的东西。之前的参数现在是url参数,它只是从其余API中获取json:

fetch(url)
        .then(response => response.json())
        .then(objectList => new Promise((resolve, reject) => eventSelectView.render(objectList)));

但是我很怀疑:

如果我在promise中的render调用之后添加resolve()调用,它也可以工作。

如果我删除了(解析,拒绝)箭头函数包装,它也可以工作(渲染函数使用一些选项填充了选择内容),但是在控制台中显示错误:“未定义的Promise解析器不是函数” < / p>

因此,即使其正常工作,我也认为我没有正确使用Promises API。

关于我在做什么错的任何建议?

谢谢

贡萨洛

1 个答案:

答案 0 :(得分:1)

这就是我最终这样做的方式:

fetch(url)
        .then(response => response.json())
        .then(objectList => eventSelectView.render(objectList));