小编JC *_*Lee的帖子

处理具有许多版本,适配器或工厂的类?

我正在与第三方图书馆合作,该图书馆每3-4个月会有相同(大多数)课程的新版本.每次新版本发布时,我都不想更新每个使用它们的类.

该库的结构如下,其中服务使用相同版本的类. v201609/myClass v201609/myService v201701/myClass v201701/myService

我无法将适配器提供给服务,因此我将不得不构建实际的类.为了显示: $myService->handle(new MyClass);

工厂使用和构建实际类的解决方案: (MyServiceFactory::build())->handle(MyClassFactory::fromModel($myModel));

因此,每次发布新版本的类时,我都必须更新我的所有工厂.

问题:

  1. 这是解决这个问题的最佳方法吗?
  2. 工厂是这种方法的正确命名约定吗?

php

8
推荐指数
1
解决办法
179
查看次数

带有 promise.prototype.finally 的 Axios 不起作用

不知道我错过了什么。按照此处的说明操作:https : //github.com/mzabriskie/axios/blob/master/COOKBOOK.md

我已经 npm 安装了 axios 和npm install axios promise.prototype.finally --save.

我在 Browserify 中使用 Gulp。

var axios = require('axios');
require('promise.prototype.finally');

axios.get('http://google.com').finally(function(){
    console.log('test');
});
Run Code Online (Sandbox Code Playgroud)

错误:

app-7ee90adab7.js:18780 Uncaught TypeError: axios.get(...).finally is not a function
Run Code Online (Sandbox Code Playgroud)

更新:这使它起作用,但我需要这样做吗?

var promiseFinally = require('promise.prototype.finally');
promiseFinally.shim();
Run Code Online (Sandbox Code Playgroud)

javascript promise axios

6
推荐指数
1
解决办法
2万
查看次数

JQuery功能在Mac上的Chrome上不起作用,但适用于Win 7和所有其他浏览器上的Chrome

参考此页:http: //www.ivault.sg/nproduct.php?pid = 116&cat = 2

在旁边的下拉框中选择一个选项应该会更改"添加到购物车"的href.

但是,这不会在Mac上的Chrome上发生,但适用于所有其他浏览器,即使在Windows中的Chrome上也是如此.

macos jquery google-chrome

5
推荐指数
1
解决办法
2137
查看次数

具有单个最大尝试次数的排队作业,如何?

通常,最大尝试次数在队列级别上指定,如下所示:

php artisan queue:listen connection-name --tries=3
Run Code Online (Sandbox Code Playgroud)

我希望能够在工作类别内的工作级别上覆盖此设置(不影响其他工作)。

我可以想到三种方法来解决这个问题,但它们可能并不优雅:

  1. 在队列级别设置大量尝试
  2. 查看失败的队列并重试作业
  3. 失败后创建新工作

笔记:

  1. 我的案例与通过 API 进行轮询有关。
  2. 我正在自己的模型中记录我的民意调查尝试。

php laravel laravel-5

5
推荐指数
2
解决办法
1万
查看次数

标签 统计

php ×2

axios ×1

google-chrome ×1

javascript ×1

jquery ×1

laravel ×1

laravel-5 ×1

macos ×1

promise ×1