答应让我感到困惑。
我正在尝试提供模拟数据服务来模仿axios。
我的模拟put调用将一个targetUrl传递给_fetch它,然后查看它是否是有效的URL并返回带有延迟的.resolve的新Promise。
const _returnResponse = (mockData, time = 0) => new Promise((resolve) => {
setTimeout(() => {
resolve(mockData);
}, time);
});
或带有延迟的.reject的新Promise
const _returnError = (time = simulatedDelay) => {
const returnValue = new Promise(((resolve, reject) => {
setTimeout(() => {
reject(new Error('error'));
}, time);
}));
return returnValue;
};
但是,当我进行模拟put调用时,这将返回模拟数据,调用方法将其解释为成功,并在控制台中登录.then
put(target, putBody) {
const returnValue = _fetch(target, simulatedDelay)
returnValue.then(response => _console('PUT', target, response, putBody));
return returnValue;
},
但是使用无效的目标控制台记录未捕获的错误
或这可以正确处理错误,但是控制台记录了未定义的响应
put(target, putBody) {
const returnValue = _fetch(target, simulatedDelay).then(response => _console('PUT', target, response, putBody));
return returnValue;
},
这是调用方法:
saveStuff({ commit, state }, newStuff) {
//other code
return this.$mockAxios.put(url, putBody)
.then((response) => {
return response;
});
},
我觉得自己已经完全丢失了一些东西,并且已经研究了几个小时,但仍然没有得到。
相关分类