Promise.try 有 args 选项
Promise.try with args alternatives
在 Bluebird 3.0 changelog 中,它现在表示 Promise.try 与 ctx 和 arts 参数现在已被弃用,但是,与其他弃用警告相反,它没有建议任何方法来迁移这些参数来电。
将任何此类调用迁移到 bluebird 3 的最佳方法是什么?可以在某处阅读弃用的原因吗?
谢谢
我没能找到关于 bluebird 2.0 的参考资料API,但如果我从上下文中以正确的方式理解事物,你可以使用闭包来实现这样的效果:
蓝鸟 2.0:
Promise.try(obj.method, obj, arg)
Promise.try(globalFunction, this, arg)
蓝鸟 3.0:
Promise.try(() => obj.method( arg ))
Promise.try(() => globalFunction.call(this, arg))
或者,如果您无法使用 ES2015 语法:
Promise.try(function () { return obj.method(arg) })
Promise.try(function () { return globalFunction.call(this, arg) }.bind(this))
在 Bluebird 3.0 changelog 中,它现在表示 Promise.try 与 ctx 和 arts 参数现在已被弃用,但是,与其他弃用警告相反,它没有建议任何方法来迁移这些参数来电。
将任何此类调用迁移到 bluebird 3 的最佳方法是什么?可以在某处阅读弃用的原因吗?
谢谢
我没能找到关于 bluebird 2.0 的参考资料API,但如果我从上下文中以正确的方式理解事物,你可以使用闭包来实现这样的效果:
蓝鸟 2.0:
Promise.try(obj.method, obj, arg)
Promise.try(globalFunction, this, arg)
蓝鸟 3.0:
Promise.try(() => obj.method( arg ))
Promise.try(() => globalFunction.call(this, arg))
或者,如果您无法使用 ES2015 语法:
Promise.try(function () { return obj.method(arg) })
Promise.try(function () { return globalFunction.call(this, arg) }.bind(this))