gpt4 book ai didi

javascript - 如何设计可以具有同步或异步响应的 API

转载 作者:行者123 更新时间:2023-12-02 14:09:49 24 4
gpt4 key购买 nike

我需要我的服务层支持在应用程序在线时发出http请求,并在应用程序离线时保存请求以供稍后使用,但这会导致响应要么是应用程序在线时的 promise ,要么是其他内容当应用程序离线时同步。我目前有

someService.save(data).then(function(response) {
performSomeAction();
});

但是 someService 的实现将变成

if (isOnline()) {
return http.post()
} else {
cachePostForLater();
}

从服务返回的最好的方法是什么,以尝试从 Controller 层隐藏在线/离线保存的复杂性?

最佳答案

您的同步函数应该返回您手动解析的 promise 。这样,调用 api 服务的代码就可以不知道调用是否在线进行。如果您将 $q 作为服务的依赖项包含在内,则可以执行以下操作

function save(){
if (isOnline()) {
return http.post()
} else {
cachePostForLater();
return $q.resolve(null);
}
}

关于javascript - 如何设计可以具有同步或异步响应的 API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39715006/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com