小编use*_*er1的帖子

rxjs 中的 .toPromise() 和 lastValueFrom()

我有这个可观察的

createMyRecord(): Observable<myRecord> {
        return of(TEMPLATE_DB).pipe(
            mergeMap((template) => doTask(template)),
            mergeMap(() => EMPTY)
        );
    }
Run Code Online (Sandbox Code Playgroud)

我用它来称呼它

await createMyRecord().toPromise();
Run Code Online (Sandbox Code Playgroud)

.toPromise() 已弃用,所以我想用 lastValueFrom() 更改调用:

await lastValueFrom(createMyRecord());
Run Code Online (Sandbox Code Playgroud)

但我收到以下错误:

EmptyError
no elements in sequence
Run Code Online (Sandbox Code Playgroud)

更新:目前,已解决:

 await lastValueFrom(createMyRecord()).catch((err) => {
            if (err instanceof EmptyError) {
                log.info(OK");
            }
        });
Run Code Online (Sandbox Code Playgroud)

但有更好的解决方案吗?

javascript promise rxjs

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

使用 Nodejs 在 Mongodb 中导入文件

使用 Nodejs 在 Mongodb 中导入 16.9 MB 的 json 文件会引发以下错误:

Opening new mongodb connection Closing mongodb connection, force = true { error: RangeError [ERR_OUT_OF_RANGE]: The value of "offset" is out of range。它必须 >= 0 && <= 17825792。收到 17825795 js:347:18) { code: 'ERR_OUT_OF_RANGE' } } ERROR (node:28432) UnhandledPromiseRejectionWarning: RangeError [ERR_OUT_OF_RANGE]: "offset" 的值超出范围。它必须 >= 0 && <= 17825792。在 Buffer.write (buffer.js:1007:5) 处的 serializeNumber (/home/igor/node_modules/bson/lib/bson/parser/serializer.js:63: 处收到 17825795: 18) 在 serializeInto (/home/igor/node_modules/bson/lib/bson/parser/serializer.js:711:17) 在 serializeObject (/home/igor/node_modules/bson/lib/bson/parser/serializer.js: 347:18) 在 serializeInto (/home/igor/node_modules/bson/lib/bson/parser/serializer.js:937:17) 在 serializeObject (/home/igor/node_modules/bson/lib/bson/parser/serializer. js:347:18) 在 serializeInto …

mongodb node.js

5
推荐指数
0
解决办法
1136
查看次数

Oracle虚拟列、日期和时间戳

我在 Oracle 中遇到虚拟列问题(我需要从日期列开始的时间戳);这是我的例子:

CREATE TABLE TBDATETIME(
  DATETIME_1 DATE,
  DATETIME_2 TIMESTAMP(9) GENERATED ALWAYS AS (
    CAST( TO_CHAR(DATETIME_1, 'DD/MM/YYYY HH24:MI:SS')
      || '.' || TO_CHAR(DATETIME_1, 'FF9')  AS TIMESTAMP(9))
   ) VIRTUAL
 );

INSERT INTO TBDATETIME(DATETIME_1)
VALUES(SYSDATE);

COMMIT;

SELECT *
FROM TBDATETIME;

ORA-01821: date format not recognized
01821. 00000 -  "date format not recognized"
*Cause:    
*Action:
Run Code Online (Sandbox Code Playgroud)

获取数据的问题出在哪里?我尝试了很多格式掩码,但没有任何帮助......

oracle timestamp date virtual-column

0
推荐指数
1
解决办法
2799
查看次数