最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

异步链接模式

运维笔记admin12浏览0评论

异步链接模式

异步链接模式

考虑以下情况:

var Calc = function () {
   // proprties
   this.value = 0

   // handler's
   this.Add = (__value) => { this.value = this.value + __value; return this }
   this.Subtract = (__value) => { this.value = this.value - __value; return this }
}

var = (new Calc()).Add(2).Subtract(1) // console.log() => 1

但是如果您以异步方式包装对象,则等待类似的东西

var Calc = async function () {
   // proprties
   this.value = 0

   // handler's
   this.Add = async (__value) => { this.value = this.value + __value; return this }
   this.Subtract = async (__value) => { this.value = this.value - __value; return this }
}

(await new Calc()).Add(2).Subtract(1) // console.log() => undefined
(await (await new Calc()).Add(2)).Subtract(1) // console.log() => 1

我知道返回Promise的原因,因为您只需将代码包装在()中,并且一旦执行了语句,您就可以继续链接。因此需要解决。

我正在寻找。

await newCalc().Add(2).Subtract(1) // console.log() => 1

考虑以下情况:var Calc = function(){//属性this.value = 0 //处理程序的this.Add =(__value)=> {this.value = this.value + __value;返回this} this.Subtract = ...

回答如下:

[请注意,await仅可在async函数内使用,可以使用所需的API,只是稍微复杂一点。

与本文相关的文章

发布评论

评论列表(0)

  1. 暂无评论