當前位置: 首頁>>代碼示例>>TypeScript>>正文


TypeScript ref.readRef函數代碼示例

本文整理匯總了TypeScript中@jonggrang/ref.readRef函數的典型用法代碼示例。如果您正苦於以下問題:TypeScript readRef函數的具體用法?TypeScript readRef怎麽用?TypeScript readRef使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。


在下文中一共展示了readRef函數的9個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。

示例1: newRef

 return newRef(int).chain(ref => {
   return T.forInPar(subs, q => {
     return readRef(ref)
       .chain(k => k.loop(E.right(q)))
       .chain(nq => writeRef(ref, nq));
   }).then(readRef(ref));
 });
開發者ID:syaiful6,項目名稱:jonggrang,代碼行數:7,代碼來源:genjer.ts

示例2: readRef

 .map(queue =>
   ({ push: (i: I) => queue.push({ tag: AppActionType.ACTION, payload: i }),
     snapshot: readRef(stateRef),
     restore: (s: S) => queue.push({ tag: AppActionType.RESTORE, payload: s }),
     subscribe: subscribe_,
     run: queue.run
   })
開發者ID:syaiful6,項目名稱:jonggrang,代碼行數:7,代碼來源:genjer.ts

示例3: mkAutoUpdate

 return T.toPromise(T.co(function* () {
   const ref: R.Ref<number> = yield R.newRef(0);
   const update: T.Task<number> = R.modifyRef_(ref, i => [i + 1, i + 1]);
   const next: T.Task<number> = yield mkAutoUpdate({ delay: 100, task: update });
   yield T.forIn_(range(1, 11), i => {
     return next.chain(j => {
       assert.equal(i === j && i !== 1, false);
       return T.pure(void 0);
     });
   });
   yield T.delay(300);
   const last1: number = yield R.readRef(ref);
   yield T.delay(200);
   const last2: number = yield R.readRef(ref);
   assert.equal(last1, last2);
   return T.pure(void 0);
 }));
開發者ID:syaiful6,項目名稱:jonggrang,代碼行數:17,代碼來源:auto-update.ts

示例4: loop

 .chain(st => {
   return R.readRef(queue)
     .chain(q2 => {
       if (q2.length === 0) {
         return R.writeRef(machine, st)
           .then(R.writeRef(queue, []));
       }
       return loop(st);
     });
 });
開發者ID:syaiful6,項目名稱:jonggrang,代碼行數:10,代碼來源:event-queue.ts

示例5: subscribe_

 function subscribe_(cb: (_: AppChange<S, I>) => T.Task<void>): T.Task<T.Task<void>> {
   return readRef(subsRef)
     .chain(sbs => {
       let nkey = sbs.fresh.toString();
       return writeRef(subsRef, S.assign({}, sbs, {
         fresh: sbs.fresh + 1,
         sbs: S.assign({}, sbs.cbs, {
           [nkey]: cb
         })
       })).map(v => remove(nkey));
     });
 }
開發者ID:syaiful6,項目名稱:jonggrang,代碼行數:12,代碼來源:genjer.ts

示例6: withFdCache

 T.supervise(T.co(function* () {
   let fdRef: R.Ref<number> = yield R.newRef(-1);
   yield withFdCache(3000, getFd =>
     getFd(0)(path.join(__dirname, '..', 'package.json')).chain(fd =>
       R.writeRef(fdRef, (fd[0] as any).value))
   );
   let fd: number = yield R.readRef(fdRef);
   return T.attempt(T.node(null, fd, fs.readFile)).chain(mcont => {
     assert.ok(isLeft(mcont));
     return T.pure(void 0);
   });
 }))
開發者ID:syaiful6,項目名稱:jonggrang,代碼行數:12,代碼來源:fd-cache.test.ts

示例7: co

  return co(function* () {
    let needsRunning: AVar<null> = yield newEmptyAVar;
    let responseVar0: AVar<A> = yield newEmptyAVar;
    let currRef: Ref<Either<AVar<A>, A>> = yield newRef(left(responseVar0));
    function loop(responseVar: AVar<A>, ma: Maybe<A>): Task<void> {
      return co(function* () {
        yield takeAVar(needsRunning);
        const a: A = yield maybe(set.task, identity, applyMaybe(modify, ma)) as Task<A>;
        yield writeRef(currRef, right(a));
        yield putAVar(responseVar, a);
        yield delay(set.delay);
        const responseVar_: AVar<A> = yield newEmptyAVar;
        yield writeRef(currRef, left(responseVar_));
        return loop(responseVar_, just(a));
      });
    }
    yield forkTask(loop(responseVar0, nothing));

    return pure(readRef(currRef).chain(mv => {
      return isLeft(mv)  ? putAVar(needsRunning, null).chain(() => readAVar(mv.value))
        /* otherwise */  : pure(mv.value);
    }));
  });
開發者ID:syaiful6,項目名稱:jonggrang,代碼行數:23,代碼來源:auto-update.ts

示例8:

 return T.co(function* () {
   yield self.addMockOperation({ tag: 'get', id: sessId });
   return RV.readRef(self.sessions).map(sessions => sessId in sessions ? sessions[sessId] : null);
 });
開發者ID:syaiful6,項目名稱:jonggrang,代碼行數:4,代碼來源:utils.ts

示例9: status

function status(ms: MutableStatus): T.Task<Status> {
  return RV.readRef(ms);
}
開發者ID:syaiful6,項目名稱:jonggrang,代碼行數:3,代碼來源:fd-cache.ts


注:本文中的@jonggrang/ref.readRef函數示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。